RU2820753C1 - Method and system for controlling objects and processes in computing environment - Google Patents
Method and system for controlling objects and processes in computing environment Download PDFInfo
- Publication number
- RU2820753C1 RU2820753C1 RU2023130271A RU2023130271A RU2820753C1 RU 2820753 C1 RU2820753 C1 RU 2820753C1 RU 2023130271 A RU2023130271 A RU 2023130271A RU 2023130271 A RU2023130271 A RU 2023130271A RU 2820753 C1 RU2820753 C1 RU 2820753C1
- Authority
- RU
- Russia
- Prior art keywords
- computing environment
- computing
- target action
- parameters
- task
- Prior art date
Links
- 238000000034 method Methods 0.000 title claims abstract description 84
- 230000008569 process Effects 0.000 title claims abstract description 51
- 230000009471 action Effects 0.000 claims abstract description 93
- 238000007726 management method Methods 0.000 claims description 36
- 238000013500 data storage Methods 0.000 claims description 8
- 239000000126 substance Substances 0.000 abstract 1
- 238000013515 script Methods 0.000 description 15
- 238000012545 processing Methods 0.000 description 14
- 238000013475 authorization Methods 0.000 description 10
- 230000003993 interaction Effects 0.000 description 9
- 238000012360 testing method Methods 0.000 description 9
- 230000006870 function Effects 0.000 description 7
- 238000004422 calculation algorithm Methods 0.000 description 5
- 238000004364 calculation method Methods 0.000 description 5
- 238000005538 encapsulation Methods 0.000 description 4
- 238000009434 installation Methods 0.000 description 4
- 238000012546 transfer Methods 0.000 description 4
- 238000013459 approach Methods 0.000 description 3
- 230000008859 change Effects 0.000 description 3
- 238000004891 communication Methods 0.000 description 3
- 238000010586 diagram Methods 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 3
- 230000003287 optical effect Effects 0.000 description 3
- 238000013468 resource allocation Methods 0.000 description 3
- 238000013528 artificial neural network Methods 0.000 description 2
- 230000005540 biological transmission Effects 0.000 description 2
- 238000011161 development Methods 0.000 description 2
- 238000001914 filtration Methods 0.000 description 2
- 238000010801 machine learning Methods 0.000 description 2
- 238000012544 monitoring process Methods 0.000 description 2
- 230000008520 organization Effects 0.000 description 2
- 230000009467 reduction Effects 0.000 description 2
- 230000004044 response Effects 0.000 description 2
- 238000012549 training Methods 0.000 description 2
- 241001025261 Neoraja caerulea Species 0.000 description 1
- 230000003190 augmentative effect Effects 0.000 description 1
- 230000008901 benefit Effects 0.000 description 1
- 230000015572 biosynthetic process Effects 0.000 description 1
- 238000013523 data management Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 230000037213 diet Effects 0.000 description 1
- 235000005911 diet Nutrition 0.000 description 1
- 230000036541 health Effects 0.000 description 1
- 230000007774 longterm Effects 0.000 description 1
- 238000012423 maintenance Methods 0.000 description 1
- 238000013507 mapping Methods 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 230000006855 networking Effects 0.000 description 1
- 238000005457 optimization Methods 0.000 description 1
- 230000002085 persistent effect Effects 0.000 description 1
- 210000001525 retina Anatomy 0.000 description 1
- 238000013519 translation Methods 0.000 description 1
- 238000012795 verification Methods 0.000 description 1
Images
Abstract
Description
ОБЛАСТЬ ТЕХНИКИTECHNICAL FIELD
[0001] Заявленное техническое решение в общем относится к области вычислительной техники, а в частности к способу и системе управления объектами и процессами в вычислительных и облачных средах, включая настройку и выделение вычислительных ресурсов, управление данными, технологическими сервисами.[0001] The claimed technical solution generally relates to the field of computer technology, and in particular to a method and system for managing objects and processes in computing and cloud environments, including setting up and allocating computing resources, data management, and technological services.
УРОВЕНЬ ТЕХНИКИBACKGROUND OF THE ART
[0002] С развитием технологий и методов обработки больших данных и облачных сред, появились проблемы, связанные с производительностью вычислительных систем, скоростью обработки данных и скоростью, и надежностью выполнения служебных команд и задач. Так, при управлении вычислительными ресурсами системы, такой как облачная среда, многопользовательская вычислительная система и т.д., существует потребность в быстром выделении ресурсов для задач параллельных вычислений, запуск необходимых программных сред, обеспечивающих выполнение процессов облачной среды, быстрая передача и обработка данных. Соответственно, появилась необходимость в создании и внедрении гибких механизмов управления вычислительными ресурсами, например, процессорами, оперативной памятью, сетевыми ресурсами, системами хранения, системным и прикладным программным обеспечением и т.д., для обеспечения высокой производительности системы и скорости обработки данных, а также оптимизации используемых вычислительных ресурсов под различные задачи.[0002] With the development of technologies and methods for processing big data and cloud environments, problems have arisen related to the performance of computing systems, data processing speed and the speed and reliability of executing service commands and tasks. Thus, when managing the computing resources of a system, such as a cloud environment, a multi-user computing system, etc., there is a need to quickly allocate resources for parallel computing tasks, launch the necessary software environments that ensure the execution of cloud environment processes, and fast data transfer and processing. Accordingly, there is a need to create and implement flexible mechanisms for managing computing resources, for example, processors, RAM, network resources, storage systems, system and application software, etc., to ensure high system performance and data processing speed, as well as optimization of used computing resources for various tasks.
[0003] Из уровня техники известно решение, раскрытое в патенте США № US 7124289 B1 (OPSWARE INC [US]), опубл. 17.10.2006. Указанное решение раскрывает платформу для автоматического управления процессами на вычислительных устройствах, которая включает в себя центральную базу данных и центральную файловую систему. При выполнении целевых действий на вычислительных устройствах, база данных отправляет команды агентам, расположенным на каждом устройстве, которые извлекают и устанавливают программные компоненты для выполнения заданного действия из файловой системы, а также настраивают компоненты и/или конфигурацию устройства в соответствии с хранимой моделью.[0003] The prior art knows the solution disclosed in US patent No. US 7124289 B1 (OPSWARE INC [US]), publ. 10/17/2006. This solution discloses a platform for automatically managing processes on computing devices, which includes a central database and a central file system. When targeted actions are performed on computing devices, the database sends commands to agents located on each device, which retrieve and install software components to perform the specified action from the file system, and configure the components and/or configuration of the device according to the stored model.
[0004] Недостатками указанного решения являются низкая скорость обработки данных, низкая производительность и надежность системы, ввиду необходимости осуществления агентом повторного процесса извлечения и установки компонентов для выполнения целевого задания (процесса) при любом изменении параметров такого процесса, что, как следствие, увеличивает время, необходимое на настройку и подготовку вычислительного устройства к выполнению задания.[0004] The disadvantages of this solution are the low data processing speed, low performance and reliability of the system, due to the need for the agent to repeat the process of extracting and installing components to complete the target task (process) for any change in the parameters of such a process, which, as a consequence, increases the time necessary to configure and prepare the computing device to perform the task.
[0005] Также, из уровня техники известно решение, раскрытое в патенте США № US 10496442 В2 (COMMVAULT SYSTEMS INC [US]), опубл. 03.12.2019, которое описывает способ выделения вычислительных ресурсов и управления задачами с помощью менеджера заданий.[0005] Also known from the prior art is the solution disclosed in US patent No. US 10496442 B2 (COMMVAULT SYSTEMS INC [US]), publ. 12/03/2019, which describes how to allocate computing resources and manage tasks using a job manager.
[0006] Недостатками данного решения являются низкая гибкость и скорость выделения ресурсов в непрерывно изменяемой, расширяемой и модернизируемой аппаратной и программной средах, ввиду необходимости постоянного создания и наполнения отдельных экземпляров заданий для менеджера с заданными параметрами работы системы. Кроме того, еще одним недостатком является невозможность изменения экземпляров заданий в процессе их использования, ввиду необходимости перекомпилирования такого задания и обновления зависимостей между элементами системы, требующее дополнительных действий по настройке и несущее риск возникновения ошибок.[0006] The disadvantages of this solution are the low flexibility and speed of resource allocation in continuously changing, expanding and upgrading hardware and software environments, due to the need to constantly create and fill individual instances of tasks for the manager with specified system operation parameters. In addition, another disadvantage is the inability to change job instances while they are in use, due to the need to recompile such a job and update dependencies between system elements, which requires additional configuration steps and carries the risk of errors.
[0007] Общими недостатками существующих решений является отсутствие эффективного, безопасного и надежного способа и системы управления объектами и процессами вычислительной среды, обеспечивающего высокую гибкость и производительность в непрерывно изменяемой, расширяемой и модернизируемой аппаратной и программной средах вычислительных систем и комплексов, инфраструктуре облачных провайдеров, в высокопроизводительных и в многопользовательских вычислительных системах и средах, виртуальных вычислительных средах и в средах с гибридной архитектурой. Кроме того, такого рода решение должно обеспечивать возможность управления процессами в таких средах (добавление новых объектов, добавление команд) без необходимости повторной настройки объекта и обновления зависимостей между элементами объекта для выполнения задания.[0007] The general disadvantages of existing solutions is the lack of an effective, safe and reliable method and system for managing objects and processes of the computing environment, providing high flexibility and performance in the continuously changing, expanding and upgrading hardware and software environments of computing systems and complexes, the infrastructure of cloud providers, in high-performance and multi-user computing systems and environments, virtual computing environments and environments with hybrid architecture. In addition, this kind of solution should provide the ability to manage processes in such environments (adding new objects, adding commands) without having to reconfigure the object and update dependencies between object elements to complete the job.
РАСКРЫТИЕ ИЗОБРЕТЕНИЯDISCLOSURE OF INVENTION
[0008] В заявленном техническом решении предлагается новый подход к управлению объектами и процессами в вычислительной среде. В данном решении предлагается алгоритм, обеспечивающий возможность быстрого и надежного управления большим числом процессов и объектов в вычислительной среде.[0008] The claimed technical solution proposes a new approach to managing objects and processes in a computing environment. This solution proposes an algorithm that provides the ability to quickly and reliably manage a large number of processes and objects in a computing environment.
[0009] Таким образом, решается техническая проблема повышения производительности вычислительной среды.[0009] Thus, the technical problem of increasing the performance of a computing environment is solved.
[0010] Техническим результатом, достигающимся при решении данной проблемы, является повышение производительности вычислительной среды.[0010] The technical result achieved by solving this problem is to increase the performance of the computing environment.
[0011] Дополнительным техническим результатом, проявляющимся при решении вышеуказанной проблемы, является снижение времени, требуемого на выполнение задания в вычислительной среде.[0011] An additional technical result that appears when solving the above problem is a reduction in the time required to complete a task in a computing environment.
[0012] Указанные технические результаты достигаются благодаря осуществлению способа автоматического управления объектами в вычислительной среде, выполняющегося по меньшей мере одним вычислительным устройством, и содержащего этапы, на которых:[0012] These technical results are achieved by implementing a method for automatically controlling objects in a computing environment, performed by at least one computing device, and comprising the steps of:
a) создают задание на по меньшей мере одно целевое действие над объектом вычислительной среды, содержащее по меньшей мере набор целевых параметров, описывающих действие над объектом вычислительной среды;a) create a task for at least one target action on a computing environment object, containing at least a set of target parameters describing the action on a computing environment object;
b) отправляют задание на по меньшей мере одно целевое действие над объектом вычислительной среды в модуль управления объектами;b) sending a task for at least one target action on an object of the computing environment to the object control module;
c) создают экземпляр класса, модулем управления объектами, соответствующий создаваемому целевому действию над объектом вычислительной среды, причем, в процессе создания экземпляра класса осуществляют:c) create an instance of the class, an object management module, corresponding to the target action being created on the object of the computing environment, and, in the process of creating an instance of the class, the following is carried out:
i. присвоение параметров и конфигурации вычислительной среды, требуемой для совершения по меньшей мере одного целевого действия над объектом вычислительной среды;i. assigning parameters and configuration of the computing environment required to perform at least one target action on an object of the computing environment;
ii. проверку доступности ресурсов вычислительной среды, определяемой параметрами, заданными на шаге i;ii. checking the availability of resources of the computing environment, determined by the parameters specified at step i;
d) передают экземпляр класса, созданный на этапе с), в API-шлюз вычислительной среды;d) passing the instance of the class created in step c) to the computing environment API gateway;
e) формируют запрос, API-шлюзом вычислительной среды, на исполнение по меньшей мере одного целевого действия в соответствующий объект, реализующий целевое действие;e) form a request, by the API gateway of the computing environment, to execute at least one target action to the corresponding object that implements the target action;
f) выполняют по меньшей мере одно целевое действие над соответствующим объектом, на основе запроса, полученного на этапе е).f) perform at least one target action on the corresponding object, based on the request received in step e).
[0013] В одном из частных вариантов реализации задание на по меньшей мере одно целевое действие над объектом вычислительной среды передается в формате API-вызова. [0014] В другом частном варианте реализации целевое действие над объектом вычислительной среды представляет собой по меньшей мере одно действие, выбираемое из группы:[0013] In one of the particular implementation options, a task for at least one target action on a computing environment object is transmitted in the format of an API call. [0014] In another particular embodiment, the target action on a computing environment object is at least one action selected from the group:
ο обращение к узлу вычислительной среды для выделения вычислительных ресурсов;ο accessing a computing environment node to allocate computing resources;
ο обращение к узлу вычислительной среды для конфигурирования указанного узла;ο accessing the computing environment node to configure the specified node;
ο предоставление/прекращение доступа объекта к вычислительным ресурсам вычислительной среды;o providing/terminating an object’s access to the computing resources of the computing environment;
ο инициализация системы хранения данных;o initialization of the data storage system;
ο создание виртуального образа.ο creation of a virtual image.
[0015] В другом частном варианте реализации модуль управления объектами представляет собой по меньшей мере одно из группы: виртуальный сервер, физический сервер, кластер серверов.[0015] In another particular embodiment, the object management module is at least one of the group: a virtual server, a physical server, or a server cluster.
[0016] В другом частном варианте реализации способа формируют отчет о результате выполненного действия, по результатам выполнения по меньшей мере одного целевого действия над объектом.[0016] In another particular embodiment of the method, a report is generated on the result of the action performed, based on the results of performing at least one target action on an object.
[0017] Кроме того, заявленные технические результаты достигаются за счет системы управления объектами в вычислительной среде, содержащей:[0017] In addition, the claimed technical results are achieved through an object management system in a computing environment containing:
• по меньшей мере один процессор;• at least one processor;
• по меньшей мере одну память, соединенную с процессором, которая содержит машиночитаемые инструкции, которые при их выполнении по меньшей мере одним процессором обеспечивают выполнение способа автоматического управления объектами в вычислительной среде.• at least one memory coupled to the processor that contains computer-readable instructions that, when executed by at least one processor, provide a method for automatically controlling objects in a computing environment.
КРАТКОЕ ОПИСАНИЕ ЧЕРТЕЖЕЙBRIEF DESCRIPTION OF THE DRAWINGS
[0018] Признаки и преимущества настоящего изобретения станут очевидными из[0018] Features and advantages of the present invention will become apparent from
приводимого ниже подробного описания изобретения и прилагаемых чертежей.the following detailed description of the invention and the accompanying drawings.
[0019] Фиг. 1 иллюстрирует блок-схему выполнения заявленного способа.[0019] FIG. 1 illustrates a block diagram of the claimed method.
[0020] Фиг. 2 иллюстрирует схему взаимодействия узлов вычислительной системы для[0020] FIG. 2 illustrates the interaction diagram of computer system nodes for
выполнения целевых действий.performing targeted actions.
[0021] Фиг. 3 иллюстрирует пример общего вида вычислительного устройства, которое обеспечивает реализацию заявленного решения.[0021] FIG. 3 illustrates an example of a general view of a computing device that provides implementation of the claimed solution.
ОСУЩЕСТВЛЕНИЕ ИЗОБРЕТЕНИЯIMPLEMENTATION OF THE INVENTION
[0022] Ниже будут описаны понятия и термины, необходимые для понимания данного технического решения.[0022] The concepts and terms necessary to understand this technical solution will be described below.
[0023] Логический элемент - элемент, осуществляющий определенные логические зависимости между входными и выходными сигналами. Логические элементы обычно используются для построения логических схем вычислительных машин, дискретных схем автоматического контроля и управления. Для всех видов логических элементов, независимо от их физической природы, характерны дискретные значения входных и выходных сигналов.[0023] Logical element - an element that implements certain logical dependencies between input and output signals. Logic elements are usually used to construct logical circuits of computers and discrete automatic monitoring and control circuits. All types of logical elements, regardless of their physical nature, are characterized by discrete values of input and output signals.
[0024] Автоматизированная система (АС) - организационно-техническая система, обеспечивающая выработку решений на основе автоматизации информационных процессов.[0024] Automated system (AS) is an organizational and technical system that ensures the development of solutions based on the automation of information processes.
[0025] API сервис - программное обеспечение, осуществляющее взаимодействие с другими программными модулями и аппаратными устройствами методом направления API-запросов. Предоставляет интерфейсы к релевантным метрикам операций, выполненных Системой.[0025] API service is software that interacts with other software modules and hardware devices by sending API requests. Provides interfaces to relevant metrics of operations performed by the System.
[0026] API-шлюз - это программный паттерн, который устанавливается перед интерфейсом прикладного программирования (API) или группой микросервисов для облегчения обработки запросов и предоставления данных и услуг.API-шлюз является единой точкой входа и стандартизированным процессом взаимодействия между приложениями, данными и сервисами организации и внутренними и внешними клиентами.[0026] An API gateway is a programming pattern that is installed in front of an application programming interface (API) or group of microservices to facilitate the processing of requests and the provision of data and services. An API gateway is a single point of entry and a standardized process for interaction between applications, data and services. organization and internal and external clients.
[0027] База данных (БД) - совокупность данных, организованных в соответствии с концептуальной структурой, описывающей характеристики этих данных и взаимоотношения между ними, причем такое собрание данных, которое поддерживает одну или более областей применения (ISO/IEC 2382:2015, 2121423 «database»).[0027] Database (DB) - a collection of data organized according to a conceptual structure that describes the characteristics of that data and the relationships between them, and such a collection of data that supports one or more areas of application (ISO/IEC 2382:2015, 2121423 " database").
[0028] Заявленное техническое решение предлагает новый подход, обеспечивающий высокую производительность вычислительной системы, такой как облачная среда, разделяемая многопользовательская вычислительная среда, за счет автоматизации управления процессами и объектами. Кроме того, заявленное техническое решение обеспечивает ускорение процессов внесения изменений в параметры системы и сокращение числа ошибок при взаимодействии узлов системы, таких как объекты, за счет реализации алгоритма представления управляемых объектов и действий с ними в виде классов, которые позволяют управлять объектами с применением операций инкапсуляции, наследования и полиморфизма. При этом каждый запущенный сервис представляется в системе как соответствующий экземпляр класса, что, соответственно, обеспечивает высокую гибкость системы при управлении процессами и объектами.[0028] The claimed technical solution offers a new approach that provides high performance of a computing system, such as a cloud environment, a shared multi-user computing environment, by automating the management of processes and objects. In addition, the claimed technical solution speeds up the process of making changes to system parameters and reduces the number of errors in the interaction of system nodes, such as objects, by implementing an algorithm for representing managed objects and actions with them in the form of classes that allow you to manage objects using encapsulation operations , inheritance and polymorphism. In this case, each running service is represented in the system as a corresponding instance of a class, which, accordingly, provides high flexibility of the system when managing processes and objects.
[0029] Заявленное техническое решение может быть реализовано на компьютере, в виде автоматизированной информационной системы (АИС) или машиночитаемого носителя, содержащего инструкции для выполнения вышеупомянутого способа.[0029] The claimed technical solution can be implemented on a computer, in the form of an automated information system (AIS) or a machine-readable medium containing instructions for performing the above method.
[0030] Техническое решение также может быть реализовано в виде распределенной компьютерной системы или вычислительного устройства.[0030] The technical solution may also be implemented as a distributed computer system or computing device.
[0031] В данном решении под системой подразумевается компьютерная система, ЭВМ (электронно-вычислительная машина), ЧПУ (числовое программное управление), ПЛК (программируемый логический контроллер), компьютеризированные системы управления и любые другие устройства, способные выполнять заданную, четко определенную последовательность вычислительных операций (действий, инструкций).[0031] In this solution, a system means a computer system, a computer (computer), CNC (computer numerical control), PLC (programmable logic controller), computerized control systems and any other devices capable of performing a given, well-defined sequence of computing operations (actions, instructions).
[0032] Под устройством обработки команд подразумевается электронный блок либо интегральная схема (микропроцессор), исполняющая машинные инструкции (программы).[0032] By command processing device we mean an electronic unit or an integrated circuit (microprocessor) that executes machine instructions (programs).
[0033] Устройство обработки команд считывает и выполняет машинные инструкции (программы) с одного или более устройства хранения данных, например, таких устройств, как оперативно запоминающие устройства (ОЗУ) и/или постоянные запоминающие устройства (ПЗУ). В качестве ПЗУ могут выступать, но, не ограничиваясь, жесткие диски (HDD), флэш-память, твердотельные накопители (SSD), оптические носители данных (CD, DVD, BD, MD и т.п.) и др.[0033] A command processing device reads and executes machine instructions (programs) from one or more data storage devices, such as devices such as random access memory (RAM) and/or read only memory (ROM). ROM can be, but is not limited to, hard drives (HDD), flash memory, solid-state drives (SSD), optical storage media (CD, DVD, BD, MD, etc.), etc.
[0034] Программа-последовательность инструкций, предназначенных для исполнения устройством управления вычислительной машины или устройством обработки команд.[0034] A program is a sequence of instructions intended to be executed by a computer control device or command processing device.
[0035] Термин «инструкции», используемый в этой заявке, может относиться, в общем, к программным инструкциям или программным командам, которые написаны на заданном языке программирования для осуществления конкретной функции, такой как, например, кодирование и декодирование текстов, фильтрация, ранжирование, трансляция текстов в диалоговую систему и т.п. Инструкции могут быть осуществлены множеством способов, включающих в себя, например, объектно-ориентированные методы. Например, инструкции могут быть реализованы, посредством языка программирования Python, С++, Java, Python, различных библиотек (например, MFC; Microsoft Foundation Classes) и т.д. Инструкции, осуществляющие процессы, описанные в этом решении, могут передаваться как по проводным, так и по беспроводным каналам передачи данных, например Wi-Fi, Bluetooth, USB, WLAN, LAN и т.п.[0035] The term "instructions" as used in this application may refer generally to software instructions or software commands that are written in a given programming language to perform a specific function, such as, for example, text encoding and decoding, filtering, ranking , translation of texts into a dialogue system, etc. Instructions can be implemented in a variety of ways, including, for example, object-oriented methods. For example, instructions can be implemented using the programming language Python, C++, Java, Python, various libraries (for example, MFC; Microsoft Foundation Classes), etc. Instructions that carry out the processes described in this solution can be transmitted over both wired and wireless data channels, such as Wi-Fi, Bluetooth, USB, WLAN, LAN, etc.
[0036] На фиг. 1 представлена блок схема способа 100 автоматического управления объектами в вычислительной среде, который раскрыт поэтапно более подробно ниже. Указанный способ 100 заключается в выполнении этапов, направленных на обработку различных цифровых данных. Обработка, как правило, выполняется с помощью системы, например, системы 300, которая также может представлять, например, сервер, компьютер, мобильное устройство, вычислительное устройство и т.д.[0036] In FIG. 1 shows a block diagram of a
[0037] Вычислительная среда может представлять собой вычислительную систему, вычислительный комплекс, инфраструктуру облачного провайдера, облачный сервис, разделяемую многопользовательскую вычислительную систему или среду, виртуальную вычислительную среду, среду с гибридной архитектурой.[0037] The computing environment may be a computing system, a computing facility, a cloud provider infrastructure, a cloud service, a shared multi-tenant computing system or environment, a virtual computing environment, or a hybrid architecture environment.
[0038] Объектами вычислительной среды могут являться вычислительные устройства, такие как рабочие станции, персональные компьютеры, настольные компьютеры, мобильные или портативные вычислительные устройства, такие как ноутбуки, планшетные компьютеры или другие портативные вычислительные устройства, серверы, такие как почтовые серверы, файловые серверы, серверы баз данных и веб-серверы. Кроме того, объектами вычислительной среды также могут являться программные и/или программно-аппаратные модули вычислительных узлов среды. Так, объекты вычислительной среды могут представлять собой процессоры, оперативную память, сетевые ресурсы, системы хранения, системное и прикладное программное обеспечение, программные библиотеки.[0038] Computing environment objects may include computing devices such as workstations, personal computers, desktop computers, mobile or portable computing devices such as laptops, tablet computers or other portable computing devices, servers such as email servers, file servers, database servers and web servers. In addition, objects of the computing environment can also be software and/or hardware and software modules of the computing nodes of the environment. Thus, objects of the computing environment can be processors, RAM, network resources, storage systems, system and application software, and software libraries.
[0039] На этапе 110 создают задание на выполнение по меньшей мере одного целевого действия над объектом вычислительной среды, содержащее по меньшей мере набор целевых параметров, описывающих действие над объектом вычислительной среды.[0039] At
[0040] На указанном этапе 110, в системе, такой как система 300 или в модуле управления вычислительной средой, создается задание на целевое действие с объектом вычислительной среды. В одном частном варианте осуществления, задание может быть создано пользователем вычислительной среды, например, посредством графического интерфейса пользователя, API вызова, управляющей командой утилиты и т.д. В еще одном частном варианте осуществления, может быть сформирована последовательность заданий. В еще одном частном варианте осуществления, пользователю необходимо пройти процесс авторизации для создания задания. Так, авторизация может быть выполнена посредством ввода логина и пароля пользователя, посредством прохождения биометрической верификации, двухфакторной авторизации и т.д. Для специалиста в данной области техники очевидно, что может быть использован любой процесс авторизации, известный из уровня техники. Также, по результатам успешной авторизации, пользователю может быть выдан авторизационный токен.[0040] At
[0041] В еще одном варианте осуществления, запрос на создание задания на целевое действие в вычислительной среде может быть направлен от внешней системы и/или вычислительного узла вычислительной среды, например, посредством протоколов межмашинного взаимодействия. В еще одном частном варианте осуществления, задание может быть создано автоматически либо при наступлении заданного условия, например, события о необходимости обновления конфигураций вычислительных узлов, подготовки вычислительных узлов к перезагрузке и т.д., не ограничиваясь. Как указывалось выше, межмашинное взаимодействие также может осуществляться с использованием интерфейса API.[0041] In yet another embodiment, a request to create a task for a target action in a computing environment may be directed from an external system and/or computing node of the computing environment, for example, through machine-to-machine communication protocols. In yet another particular embodiment, the job can be created automatically or upon the occurrence of a specified condition, for example, an event about the need to update the configurations of computing nodes, preparing computing nodes for a reboot, etc., but is not limited to. As stated above, machine-to-machine communication can also be accomplished using an API.
[0042] Задание на выполнение целевого действия может включать в себя набор целевых параметров, описывающих целевое действие либо перечень действий, перечень управляемых объектов, наборы параметров и настроек для определенных аппаратных и/или программных модулей объекта вычислительной среды, требования к отчетности по результатам выполнения операций. Задание на выполнение целевого действия может быть представлено в формате API-вызова и содержать информацию об авторизации пользователя (токен). Так, в одном частном варианте осуществления, целевое действие может представлять собой обращение к узлу вычислительной среды для выделения вычислительных ресурсов; обращение к узлу вычислительной среды для конфигурации указанного узла; предоставление/прекращение доступа объекта к вычислительным ресурсам вычислительной среды; инициализация системы хранения данных; создание виртуального образа и т.д., не ограничиваясь. Кроме того, под целевым действием также может пониматься управление процессами в вычислительных средах, включая добавление или изменение конфигурации оборудования, программного обеспечения, запуск программного обеспечения для выполнения операций в объекте вычислительной среды, передача параметров в вычислительную среду и получение параметров из вычислительной среды, управление технологическими процессами в результате вычислений (включая передачу данных, синхронизацию работы оборудования и передачу потоков данных, мониторинг состояния оборудования, процессов и статуса выполнения задач и другие процессы), обучение модели машинного обучения, выполнение программных скриптов, модулей, процедур и функций, выполнение скриптов классификации, выполнение SQL-запросов и запросов к базам данных и хранилищам информации и данных, выполнения скриптов исполняемого программного кода и др.[0042] A task to perform a target action may include a set of target parameters describing the target action or a list of actions, a list of managed objects, sets of parameters and settings for certain hardware and/or software modules of a computing environment object, reporting requirements on the results of operations . A task to perform a target action can be presented in the format of an API call and contain information about user authorization (token). Thus, in one particular embodiment, the target action may be a call to a node of the computing environment to allocate computing resources; accessing the computing environment node to configure the specified node; providing/terminating an object's access to the computing resources of the computing environment; initialization of the data storage system; creating a virtual image, etc., but not limited to. In addition, the target action can also be understood as managing processes in computing environments, including adding or changing the configuration of equipment, software, launching software to perform operations in a computing environment object, transferring parameters to a computing environment and receiving parameters from a computing environment, managing technological processes as a result of calculations (including data transfer, synchronization of equipment operation and transfer of data streams, monitoring of equipment status, processes and task execution status and other processes), training a machine learning model, execution of software scripts, modules, procedures and functions, execution of classification scripts, execution of SQL queries and queries to databases and information and data storage facilities, execution of executable program code scripts, etc.
[0043] На этапе 120 отправляют задание на выполнение по меньшей мере одного целевого действия над объектом вычислительной среды в модуль управления объектами.[0043] At
[0044] На указанном этапе 120, например, посредством сети передачи данных, такой как локальная сеть передачи данных, глобальная сеть передачи данных, такая как Интернет, осуществляется передача сформированного задания на модуль управления объектами. Так, как указывалось выше, задание может быть создано как посредством графического интерфейса пользователя, так и сформировано на уровне программной среды, например, внешней системой. В одном частном варианте осуществления, задание может быть отправлено в модуль управления объектами в формате API-вызова. В еще одном частном варианте осуществления, задание может быть передано в модуль управления объектами в виде файла данных, содержащего текстовые данные. В еще одном частном варианте осуществления, обращение к модулю управления объектами осуществляется посредством вызова программного метода либо функции, с передачей требуемых параметров.[0044] At this
[0045] Модуль управления объектами может представлять собой аппаратный, программно-аппаратный модуль на базе по меньшей мере одного вычислительного устройства, оснащенного соответствующим программным обеспечением. Так, модуль управления объектами может быть реализован на базе системы 300, которая более подробно раскрыта на фиг. 3. Так, в еще одном частном варианте осуществления, модуль управления объектами может представлять собой по меньшей мере виртуальный сервер, физический сервер, кластер серверов.[0045] The object control module may be a hardware, software-hardware module based on at least one computing device equipped with appropriate software. Thus, the object management module may be implemented on the basis of
[0046] Модуль управления объектами принимает на вход набор параметров, включающих требуемое/подлежащее исполнению действие, и параметры этого действия, проверяет валидность этого запроса и авторизацию источника запроса (например, посредством токена, выданного на этапе 110), и преобразует этот запрос в команду на создание экземпляра класса, соответствующего целевому действию, и, при необходимости, инициализацию выполнения целевого действия после получения дополнительной команды на исполнение.[0046] The object management module takes as input a set of parameters including the action required/to be executed and the parameters of that action, verifies the validity of the request and the authorization of the source of the request (eg, through the token issued at step 110), and converts the request into a command to create an instance of a class corresponding to the target action, and, if necessary, initialize the execution of the target action after receiving an additional execution command.
[0047] На этапе 130 создают экземпляр класса, посредством модуля управления объектами, соответствующий создаваемому целевому действию над объектом вычислительной среды, причем, в процессе создания экземпляра класса осуществляют: присвоение параметров и конфигурации вычислительной среды, требуемой для совершения по меньшей мере одного целевого действия над объектом вычислительной среды; проверку доступности ресурсов вычислительной среды.[0047] At
[0048] На этапе 130, модуль управления объектами создает экземпляр класса, соответствующий создаваемому целевому объекту либо операции, с передачей необходимого набора параметров. Указанный экземпляр класса используется для формирования API-вызова либо последовательности API-вызовов к управляемому объекту, передавая необходимый набор параметров и конфигурации вычислительной среды для выполнения целевого действия, а также получая и обрабатывая информацию о статусе выполнения. Т.е. модуль управления объектами, на основе заданных параметров, преобразует/формирует управляющие команды (в формате, принимаемом целевым объектом) к указанному целевому объекту. При этом, стоит отметить, что в процессе создания экземпляра класса, модуль управления объектами взаимодействует с объектами вычислительной среды для определения доступности ресурсов вычислительной среды.[0048] At
[0049] Для создания экземпляра класса, в модуле управления объектами был реализован алгоритм объектно-ориентированного отображения (Object-Oriented Mapping) для управления процессами в вычислительных средах. Указанный алгоритм обеспечивает возможность представления управляемых объектов и действий с ними в виде классов в терминах объектно-ориентированного программирования, позволяющих управлять объектами с применением операций инкапсуляции, наследования и полиморфизма. При этом каждый запущенный сервис представляется в системе как соответствующий экземпляр класса.[0049] To create an instance of the class, the object management module implemented an Object-Oriented Mapping algorithm for managing processes in computing environments. The specified algorithm provides the ability to represent managed objects and actions with them in the form of classes in terms of object-oriented programming, allowing to manage objects using the operations of encapsulation, inheritance and polymorphism. In this case, each running service is represented in the system as a corresponding instance of the class.
[0050] При описании процессов управления объектами и процессами в вычислительной среде определяются объекты и действия с этими объектами. Схожие объекты, имеющие общие признаки, объединяются в классы. Различия между объектами описываются параметрами. Параметры задаются при создании объекта.[0050] When describing processes for managing objects and processes in a computing environment, objects and actions with these objects are defined. Similar objects that have common characteristics are combined into classes. The differences between objects are described by parameters. Parameters are set when creating an object.
[0051] Каждый конкретный объект является экземпляром класса. Действия с объектами осуществляются с помощью функций (методов класса), выполнение которых в свою очередь также описываться параметрами. Т.е. особенностью такого подхода является возможность описывать функции как методы класса по аналогии, принятой в объектно-ориентированном программировании. При этом каждая функция описывает выполнение конкретной атомарной операции либо заранее заданный набор, либо последовательности операций. При этом набор или определенная последовательность действий, имеющих сходство, также может быть объединен в класс, а конкретное действие над конкретным объектом - является экземпляром класса. Параметры классов могут быть заданы (описаны) переменными требуемых типов, включая, но не ограничиваясь, типами - integer, float, string, boolean, diet, object и другими. При этом при отсутствии некоторых параметров при создании экземпляров класса задаются значения параметров, заранее определенные как параметры «по умолчанию».[0051] Each concrete object is an instance of a class. Actions with objects are carried out using functions (class methods), the execution of which, in turn, is also described by parameters. Those. A feature of this approach is the ability to describe functions as class methods by analogy with object-oriented programming. Moreover, each function describes the execution of a specific atomic operation or a predefined set or sequence of operations. In this case, a set or a certain sequence of actions that have similarities can also be combined into a class, and a specific action on a specific object is an instance of the class. Class parameters can be specified (described) by variables of the required types, including, but not limited to, types - integer, float, string, boolean, diet, object and others. In this case, in the absence of some parameters, when creating instances of a class, the values of the parameters are set, pre-defined as “default” parameters.
[0052] Указанный алгоритм обеспечивает оптимальный порядок и последовательность выполнения вычислительных и служебных задач в соответствии с заданными параметрами приоритетов, требуемых и доступных для использования вычислительных ресурсов, с возможностью гибкого изменения приоритетов, параметров и ресурсов, выделяемых для вычислений, включая быстрое выделение ресурсов для задач параллельных вычислений и запуск необходимых программных сред, передачу и обработку данных, предоставление отчетов о статусе выполнения и завершения задач, предоставление отчетов о неплановых и ошибочных завершениях задач, сбор и сохранение статистики работы, включая работу оборудования, программного обеспечения, других систем и действий пользователей, ввод и вывод исходных данных и результатов вычислений / работы.[0052] The specified algorithm provides the optimal order and sequence of execution of computing and service tasks in accordance with the specified parameters of the priorities required and available for the use of computing resources, with the ability to flexibly change priorities, parameters and resources allocated for calculations, including the rapid allocation of resources for tasks parallel computing and launching the necessary software environments, transferring and processing data, providing reports on the status of execution and completion of tasks, providing reports on unplanned and erroneous completion of tasks, collecting and storing operation statistics, including the operation of equipment, software, other systems and user actions, input and output of initial data and results of calculations/work.
[0053] Рассмотрим примеры целевых действий над объектами вычислительной среды. Так, в одном частном варианте осуществления заданием на выполнение целевого действия над объектом может являться выполнение вычислительного задания, например, инференс нейронной сети на процессорах вычислительной среды. Более подробно примеры выполняемых экземпляров класса раскрыты ниже.[0053] Let's consider examples of targeted actions on objects of the computing environment. Thus, in one particular embodiment, the task to perform a target action on an object may be the execution of a computational task, for example, inference of a neural network on processors of the computing environment. Examples of executable class instances are described in more detail below.
[0054] Для создания экземпляра класса, модуль управления объектами, вызывает функцию с параметрами имя задания, имя рабочего пространства, выполняемый скрипт на языке, образ программного окружения, перечень требуемых вычислительных ресурсов (CPU, GPU, RAM и др.), параметры, описывающие параллельные вычисления (включая выбор программной библиотеки для параллельных вычислений), параметры времени выделения ресурсов, параметры сервисных инстансов и другие.[0054] To create an instance of the class, the object management module calls a function with parameters: job name, workspace name, script to be executed in the language, image of the software environment, list of required computing resources (CPU, GPU, RAM, etc.), parameters describing parallel computing (including selection of a software library for parallel computing), resource allocation time parameters, service instance parameters and others.
[0055] Кроме того, задание может представлять собой создание окружения пользователя для запуска программных сред, используемых для разработки, отладки и тестирования скриптов и приложений. Запуск программной среды (программного окружения) полностью повторяет процесс запуска «Вычислительной задачи», при этом скрипт с вычислительной задачей заменяется на файл с перечнем дополнительных программных библиотек, которые могут быть сразу установлены в пользовательском окружении.[0055] In addition, the task may be the creation of a user environment for running software environments used for developing, debugging and testing scripts and applications. Launching the software environment (software environment) completely repeats the process of launching the “Computational task”, while the script with the computational task is replaced with a file with a list of additional software libraries that can be immediately installed in the user environment.
[0056] Для формирования экземпляра класса окружения пользователя модуль управления объектами формирует API-вызов либо последовательность API-вызовов к управляемому объекту, передавая необходимый набор параметров и конфигурации вычислительной среды для выполнения целевого действия, а также получая и обрабатывая информацию о статусе выполнения. В зависимости от класса и вызываемого метода набор параметров может включать имя рабочего пространства, имя окружения пользователя, образ программного окружения, перечень требуемых вычислительных ресурсов (CPU, GPU, RAM и др.). Указанный экземпляр класса используется для формирования API-вызова либо последовательности API-вызовов к управляемому объекту, передавая необходимый набор параметров и конфигурации вычислительной среды для выполнения целевого действия, а также получая и обрабатывая информацию о статусе выполнения.[0056] To form an instance of the user environment class, the object management module generates an API call or a sequence of API calls to a managed object, passing the necessary set of parameters and configurations of the computing environment to perform the target action, as well as receiving and processing information about the execution status. Depending on the class and the called method, the set of parameters may include the name of the workspace, the name of the user environment, an image of the software environment, and a list of required computing resources (CPU, GPU, RAM, etc.). The specified instance of the class is used to form an API call or a sequence of API calls to a managed object, passing the necessary set of parameters and configuration of the computing environment to perform the target action, as well as receiving and processing information about the execution status.
[0057] Кроме того, задания также могут представлять собой такие целевые действия, как создание нового образа, выделение вычислительных ресурсов и т.д.[0057] In addition, tasks can also represent targeted actions such as creating a new image, allocating computing resources, etc.
[0058] Рассмотрим более подробно формирование экземпляра класса на целевое действие, на основе нескольких примеров.[0058] Let's take a closer look at the formation of a class instance for a target action, based on several examples.
[0059] В качестве примеров, рассмотрим следующие - «выполнение вычислительной задачи», «копирование объектов» и «инициализация оборудования».[0059] As examples, consider the following - “performing a computational task”, “copying objects” and “initializing equipment”.
[0060] Так, в качестве первого примера рассмотрим создание класса типа «Вычислительная задача», выполняемая в контейнере с предварительно подготовленной вычислительной средой. При создании класса «Вычислительная задача» задается набор параметров, описывающих задачу.[0060] So, as a first example, consider creating a class of type “Computational task”, executed in a container with a pre-prepared computing environment. When creating the “Computational Task” class, a set of parameters is specified that describes the task.
[0061] Так, параметрами, описывающими задачу могут являться: данные о том, кто из пользователей запрашивает выполнение вычислительной задачи, что позволяет применять, например, ограничения на выделение тех или иных ресурсов для выполнения задачи, в том числе по типам доступных вычислительных инстансов, запуску задач в тех или иных вычислительных регионах и т.д., Параметры, описывающие данные о рабочей области (именуемой проект, workspace и т.д.), доступной пользователю, и служащей для разграничения и изоляции ресурсов при коллективной работе, образ контейнера с вычислительной средой, в которой будет выполняться вычислительная задача, может задаваться как адрес в репозитории, в котором хранятся образы окружений, тип скрипта вычислительной задачи (например, бинарный, shell-скрипт, скрипт на языке высокого уровня, таком как Python, и т.д.), адрес размещения скрипта вычислительной задачи в хранилище либо на жестких дисках, набор вычислительных ресурсов, который должен быть выделен для выполнения вычислительной задачи, может включать в себя такие параметры, как тип инстанса вычислительного ресурса, количество инстансов, вычислительная среда/вычислительны регион/кластер, в котором должен быть выделен этот ресурс, тип ресурса (постоянный либо спотовый), параметры, описывающие распараллеливание вычислений при выполнении вычислительной задачи, параметры, описывающие условия запуска и выполнения задачи, такие как приоритет выполнения, время или условие запуска задачи, проверка исправности и доступности аппаратного обеспечения, разрешение обращения к внешним ресурсам и данным при выполнении задачи, максимальная длительность выполнения, уровень детализации при логировании операций выполнения задачи, количество повторных запусков при прерывании выполнения задачи до ее успешного завершения и другие параметры, действия по завершении задачи, включая, но не ограничиваясь, указание на бакет или каталог в постоянном хранилище данных для сохранения результатов выполнения задачи.[0061] Thus, the parameters describing the task can be: data about which user requests the execution of a computing task, which allows you to apply, for example, restrictions on the allocation of certain resources to complete the task, including the types of available computing instances, launching tasks in certain computing regions, etc., Parameters describing data about the work area (called project, workspace, etc.), accessible to the user, and used to delimit and isolate resources during collective work, container image with the computing environment in which the computing task will be executed can be specified as the address in the repository in which the environment images are stored, the type of script of the computing task (for example, binary, shell script, script in a high-level language such as Python, etc. .), the address where the computing task script is placed in storage or on hard drives, the set of computing resources that must be allocated to perform the computing task may include parameters such as the type of instance of the computing resource, the number of instances, the computing environment/computing region/ the cluster in which this resource should be allocated, the type of resource (permanent or spot), parameters describing the parallelization of calculations when executing a computing task, parameters describing the conditions for starting and executing the task, such as execution priority, time or condition for starting the task, health check and hardware availability, permission to access external resources and data when executing a task, maximum execution duration, level of detail when logging task execution operations, number of restarts when interrupting a task before its successful completion and other parameters, actions upon task completion, including, but not limited to, a reference to a bucket or directory in persistent data storage to store the results of a task.
[0062] Каждая запущенная вычислительная задача будет являться экземпляром класса, которые имеет свой уникальный набор параметров.[0062] Each running computing task will be an instance of a class that has its own unique set of parameters.
[0063] При использовании операций наследования предлагаемый в изобретении метод позволяет создавать другие классы задач, такие как выполнение определенной задачи (фиксируется скрипт вычислительной задачи), выполнение задачи на вычислительных инстансах определенной конфигурации (например, задаются инстансы, имеющие GPU либо большой объем RAM), и т.д.[0063] When using inheritance operations, the method proposed in the invention allows you to create other classes of tasks, such as performing a specific task (the script of a computing task is fixed), executing a task on computing instances of a certain configuration (for example, instances with a GPU or a large amount of RAM are specified), etc.
[0064] Пример инкапсуляции - получение статуса выполняемой вычислительной задачи посредством метода проверки состояния выполнения задачи, выполняемого в качестве простой унитарной операции без необходимости опроса внутреннего состояния контейнера с выполняемой задачей и исполняемых программных модулей, и компонент.[0064] An example of encapsulation is obtaining the status of a running computing task through a method of checking the task execution status, performed as a simple unitary operation without the need to interrogate the internal state of the container with the running task and executable program modules and components.
[0065] Полиморфизм методов класса заключается в возможности задания команды на выполнение однообразных целевых действий над объектами в разных вычислительных средах, инициализируемых различными параметрами, тип которых определяется конкретной вычислительной средой.[0065] Polymorphism of class methods consists in the possibility of specifying a command to perform uniform target actions on objects in different computing environments, initialized by different parameters, the type of which is determined by a specific computing environment.
[0066] Методы класса «Вычислительная задача» описывают набор действий, которые можно произвести с объектом = экземпляр класса «Вычислительная задача». Примерами таких действий являются: запуск вычислительной задачи, проверка состояния выполнения задачи (статуса задачи, может принимать значения, например, «загружается», «ожидание в очереди», «выполняется», «завершено успешно», «завершено неуспешно», «прервано» и т.д., постановка задачи на паузу с сохранением промежуточных результатов вычислений, принудительная остановка вычислительной задачи, получение логов выполнения задачи и другие операции.[0066] Methods of the “Computational Task” class describe a set of actions that can be performed with an object = instance of the “Computational Task” class. Examples of such actions are: starting a computational task, checking the task execution status (task status, can take values, for example, “loading”, “waiting in queue”, “executing”, “completed successfully”, “completed unsuccessfully”, “interrupted” etc., pausing a task while saving intermediate calculation results, forcing a computational task to stop, obtaining task execution logs and other operations.
[0067] Другим примером класса, описывающего наборы действий как объектов, является операция «Копирование объектов». При создании класса «Копирование объекта» задается набор параметров, описывающих операцию: данные об источнике (Source) - копируемом объекте - файле, наборе файлов, каталоге или бакете, данные о месте назначения (Destination) - хранилище и месте размещения в нем (каталог, бакет), в которое должны быть скопированы данные, данные о том, кто из пользователей запрашивает выполнение копирования, выполняется для целей авторизации и ограничения доступа, данные о моменте времени, в который должна начаться операция копирования, данные о повторении операции (например, копирование выполняется каждый час), вариант копирования - с добавлением результатов (append), перезаписью (overwrite), полной синхронизацией либо с применением версий объекта, с сохранением информации о версии в метаданных либо в названии файла, тип копирования - копирование с сохранением данных в источнике либо перемещение с удалением данных из источника после подтверждения успешного копирования, выполнение дополнительной проверки целостности копируемых данных, выполнение проверки наличия свободного места для размещения копируемых данных в месте назначения до начала копирования, действия в случае обнаружения ошибок копирования (например, однократный либо многократный повтор выполнения операции, уведомление пользователя, продолжение копирования, другие возможные действия, либо просто остановка процесса), и другие параметры.[0067] Another example of a class that describes sets of actions as objects is the Copy Objects operation. When creating the “Object Copying” class, a set of parameters is specified that describe the operation: data about the Source - the copied object - a file, set of files, directory or bucket, data about the Destination - storage and location in it (directory, bucket) into which the data should be copied, data about which user is requesting the copy to be performed, is performed for authorization and access restriction purposes, data about the point in time at which the copy operation should begin, data about the repetition of the operation (for example, the copy is in progress every hour), copy option - with adding results (append), overwrite (overwrite), full synchronization or using versions of the object, with saving version information in metadata or in the file name, copy type - copying with saving data in the source or moving with deleting data from the source after confirming successful copying, performing additional checks on the integrity of the copied data, checking whether there is free space to accommodate the copied data at the destination before copying begins, actions in case of copying errors (for example, repeating the operation once or multiple times, notification user, continuation of copying, other possible actions, or simply stopping the process), and other parameters.
[0068] При этом создание конкретной команды на копирование данных является созданием экземпляра класса «Копирование объектов».[0068] In this case, creating a specific command for copying data is creating an instance of the “Copying Objects” class.
[0069] Методы класса «Копирование объектов» описывают набор действий, которые можно произвести с объектом = экземпляр класса «Копирование объектов». Примерами таких действий являются: запуск процесса копирования, принудительная остановка процесса копирования, постановка процесса копирования на паузу, получение статуса выполнения операции копирования, получение логов выполнения процесса копирования, и другие операции.[0069] Methods of the “Copying Objects” class describe a set of actions that can be performed with an object = instance of the “Copying Objects” class. Examples of such actions are: starting the copying process, forcibly stopping the copying process, pausing the copying process, obtaining the status of the copy operation, obtaining logs of the copy process, and other operations.
[0070] Примером операции наследования является создание класса, осуществляющего копирование всех объектов из одного хранилища в другое по расписанию с выполнением операции синхронизации.[0070] An example of an inheritance operation is the creation of a class that copies all objects from one storage to another according to a schedule and performs a synchronization operation.
[0071] Третьи примером Класса, описывающего наборы действий как объектов, является операция «Инициализация оборудования». Процесс «Инициализации оборудования» может быть реализован, например, при добавлении оборудования, такого как вычислительные узлы (ноды или сервера) или системы хранения, в кластер, при изменении конфигурации кластера, при выводе части оборудования кластера из эксплуатации для проведения обслуживания либо замены и т.д. Опишем процесс «Инициализации оборудования» при добавлении дополнительной ноды (сервера) в кластер.[0071] A third example of a Class that describes sets of actions as objects is the "Initialize Hardware" operation. The “Hardware Initialization” process can be implemented, for example, when adding equipment, such as computing nodes (nodes or servers) or storage systems, to a cluster, when changing the cluster configuration, when taking part of the cluster equipment out of service for maintenance or replacement, etc. .d. Let us describe the process of “Equipment Initialization” when adding an additional node (server) to the cluster.
[0072] При создании класса «Инициализация оборудования» мы задаем набор параметров, описывающих операцию: параметры, описывающие время начала операции по «Инициализации оборудования», например, в окна обслуживания в часы минимальной нагрузки, обычно в в ночь с субботы на воскресенье, тип добавляемой ноды (описывает конфигурацию сервера, добавляемого в качестве ноды кластера, включая такие параметры как тип сервера, количество CPU,RAM, операционная система), IP-адрес, по которому будет осуществляться взаимодействие с добавляемой нодой, данные для авторизации с правами администратора, осуществляющего удаленную установку и настройку сервера, параметры, описывающие данные о версии операционной системы и обновлениях, которые должны быть установлены на сервере, добавляемом в качестве дополнительной ноды сервера, данные о расположении репозитория, хранящего драйвера и системное и прикладное программное обеспечение, которое должно быть установлено на ноде, адрес размещения скрипта установки ноды, содержащего данные о последовательности установки драйверов и системного и прикладного программного обеспечения на ноду кластера, выполняющего в том числе промежуточные тесты, проверку результатов тестов, информирование о результатах тестов администратора, запись результатов тестов в лог-файл, выполнение операций по перезагрузке системы для инициализации установленного программного обеспечения. Параметры скрипта установки ноды могут также задаваться в виде параметров класса «Инициализации оборудования». Адрес размещения скрипта настройки ноды, содержащего данные о последовательности выполнения операций по настройке системного и прикладного программного обеспечения ноды кластера, включая изменение сетевых настроек, присвоение названий и имен, запуск и выполнение скриптов, осуществляющих интеграцию системного и прикладного программного обеспечения в единую вычислительную среду кластера, выполняющего в том числе промежуточные тесты, проверку результатов тестов, информирование о результатах тестов администратора, запись результатов тестов в лог-файл, выполнение операций по перезагрузке системы для инициализации установленного программного обеспечения и другие операции. Параметры скрипта настройки ноды могут также задаваться в виде параметров класса «Инициализации оборудования». Параметры, описывающие процесс сохранения результатов настроек и параметров ноды в систему управления кластером, включая данные технической учетной записи для подключения к системе управления кластером, параметр выбора ручного по команде администратора кластера либо автоматического введения ноды в эксплуатацию как части кластера, параметры, инициализирующие изменение настроек кластера с добавленной нодой, введенной в эксплуатацию, для последующего перераспределения вычислительных задач, выполняемых на кластере, на добавленную ноду.[0072] When creating the “Equipment Initialization” class, we specify a set of parameters that describe the operation: parameters that describe the start time of the “Equipment Initialization” operation, for example, during service windows during off-peak hours, usually on the night from Saturday to Sunday, type node being added (describes the configuration of the server added as a cluster node, including such parameters as server type, number of CPUs, RAM, operating system), IP address through which interaction with the added node will be carried out, data for authorization with administrator rights carrying out remote installation and configuration of the server, parameters describing data about the version of the operating system and updates that must be installed on the server added as an additional server node, data about the location of the repository storing drivers and system and application software that must be installed on node, the address where the node installation script is located, containing data about the sequence of installation of drivers and system and application software on the cluster node, which also performs intermediate tests, checking test results, informing the administrator about test results, recording test results in a log file, execution operations to reboot the system to initialize the installed software. The node installation script parameters can also be specified as parameters of the “Equipment Initialization” class. The location address of the node configuration script, containing data on the sequence of operations for configuring the system and application software of the cluster node, including changing network settings, assigning titles and names, launching and executing scripts that integrate system and application software into a unified cluster computing environment, performing, among other things, intermediate tests, checking test results, informing the administrator about test results, recording test results in a log file, performing system reboot operations to initialize installed software and other operations. The parameters of the node configuration script can also be specified as parameters of the “Equipment Initialization” class. Parameters describing the process of saving the results of the settings and parameters of the node to the cluster management system, including technical account data for connecting to the cluster management system, the option to select manually at the command of the cluster administrator or automatically put the node into operation as part of the cluster, parameters that initialize changes to the cluster settings with the added node put into operation for subsequent redistribution of computing tasks performed on the cluster to the added node.
[0073] Создание экземпляра класса «Инициализация оборудования» позволит выполнить последовательность операций по инициализации конкретного оборудования, например, как дополнительной ноды кластера в примере, приведенном выше.[0073] Creating an instance of the “Equipment Initialization” class will allow you to perform a sequence of operations to initialize specific equipment, for example, as an additional cluster node in the example given above.
[0074] Методы класса «Инициализация оборудования» описывают набор действий, которые можно произвести с объектом = экземпляр класса «Инициализация оборудования». Примерами таких действий являются: запуск процесса инициализации оборудования, принудительная остановка процесса инициализации оборудования, постановка процесса инициализации на паузу, получение статуса выполнения операции инициализации, получение логов выполнения процесса инициализации, и другие операции.[0074] Methods of the “Equipment Initialization” class describe a set of actions that can be performed with an object = instance of the “Equipment Initialization” class. Examples of such actions are: starting the equipment initialization process, forcibly stopping the equipment initialization process, pausing the initialization process, obtaining the status of the initialization operation, obtaining logs of the initialization process, and other operations.
[0075] Таким образом, за счет представления управляемых объектов и действий с ними в виде классов в терминах объектно-ориентированного программирования, обеспечивается возможность управления объектами с применением операций инкапсуляции, наследования и полиморфизма, что, соответственно повышает производительность вычислительной среды, ввиду сокращения сетевых взаимодействий, необходимых для совершения таких действий, снижает количество ошибок, повышает надежность вычислительной среды. Кроме того, также обеспечивается возможность проводить запуски задач и управление процессами, операции процессов развертывания (бутстрапа) новых систем либо расширения работающих систем на новые вычислительные ресурсы, изменение конфигурации системы с более широким набором параметров и вариацией этих параметров, что, соответственно повышает универсальность и гибкость системы.[0075] Thus, by representing managed objects and actions with them as classes in terms of object-oriented programming, it is possible to manage objects using the operations of encapsulation, inheritance and polymorphism, which accordingly increases the performance of the computing environment, due to the reduction of network interactions necessary to perform such actions, reduces the number of errors and increases the reliability of the computing environment. In addition, it also provides the ability to launch tasks and manage processes, operations of deployment processes (bootstrap) of new systems or expansion of running systems to new computing resources, changing the configuration of the system with a wider set of parameters and variations of these parameters, which, accordingly, increases versatility and flexibility systems.
[0076] На этапе 140 передают экземпляр класса, созданный на этапе с), в API-шлюз вычислительной среды.[0076] At
[0077] На указанном этапе 140, после создания экземпляра класса, указанный экземпляр класса передается в API-шлюз в формате API-вызова для реализации целевого действия.[0077] At the specified
[0078] На этапе 150 формируют запрос, API-шлюзом вычислительной среды, на исполнение по меньшей мере одного целевого действия в соответствующий объект, реализующий целевое действие.[0078] At
[0079] На этапе 150, API-шлюз направляет API-запрос на исполнение в адрес соответствующих объектов и модулей, реализующих целевое действие. Так, в одном частном варианте осуществления запрос на исполнение по меньшей мере одного целевого действия может быть сформирован на основе порогового события. Пороговым событием может являться наступление заданного времени, присвоение приоритета указанному целевому действию и т.д.[0079] At
[0080] На этапе 160 выполняют по меньшей мере одно целевое действие над соответствующим объектом, на основе запроса, полученного на этапе 150.[0080] At
[0081] Как указывалось выше, целевое действие может представлять собой развертывание виртуальных вычислительных и сетевых сред и средств защиты информации, развертывание (бутстрап) рабочих пространств и пространств имен, развертывание и настройка системного и прикладного ПО для рабочего пространства, управление секретами, журналирование, опрос состояния, передачу параметров, определение классов, обработку исключений, запуск и управление сервисами (вычислительное задание, сервисное задание, создание виртуальной среды пользователя и др.) обмен данными с запущенной задачей, реализацию сетевых политик, управление выделением ресурсов по расписанию и по требованию, управление очередями, управление задачами обучения, управление пользовательским сервисом, управление приложением, управление инференсом модели машинного обучения, проверка завершения исполнения, управление прерываниями процессов, сервисы уведомлений и отчетов.[0081] As stated above, the target action may be deployment of virtual computing and network environments and information security tools, deployment (bootstrap) of workspaces and namespaces, deployment and configuration of system and application software for the workspace, secrets management, logging, polling states, passing parameters, defining classes, handling exceptions, launching and managing services (computational task, service task, creating a virtual user environment, etc.) exchanging data with a running task, implementing network policies, managing the allocation of resources according to a schedule and on demand, management queues, training task management, user service management, application management, machine learning model inference management, execution completion checking, process interrupt management, notification and reporting services.
[0082] Продолжая примеры созданных экземпляров классов, исполнение (инициализация) экземпляра класса задания на выполнение целевого действия над объектом, такое как выполнение вычислительного задания, например, инференс нейронной сети на процессорах вычислительной среды будет осуществляться следующим образом.[0082] Continuing with examples of created class instances, execution (initialization) of a class instance of a task to perform a target action on an object, such as performing a computational task, for example, inference of a neural network on processors of the computing environment will be carried out as follows.
[0083] Запрос API на инициализацию в адрес соответствующих объектов может быть направлен на объект, в котором, на основе заданных в экземпляре класса параметров, таких как, образ программного окружения, перечень требуемых вычислительных ресурсов (CPU, GPU, RAM и др.), параметров, описывающих параллельные вычисления (включая выбор программной библиотеки для параллельных вычислений), параметров времени выделения ресурсов, параметры сервисных инстансов и другие, осуществляет запуск целевого задания в соответствии с представленными параметрами.[0083] An API request for initialization to the corresponding objects can be sent to an object in which, based on the parameters specified in the class instance, such as the image of the software environment, the list of required computing resources (CPU, GPU, RAM, etc.), parameters describing parallel computing (including the choice of a software library for parallel computing), resource allocation time parameters, service instance parameters and others, launches the target task in accordance with the presented parameters.
[0084] При этом, за счет представления всех параметров в виде экземпляра класса, исключается необходимость в конфигурировании такого объекта посредством применения различных агентов, т.е. взаимодействия с объектом для конфигурирования такого объекта под выполнение конкретного действия, что, соответственно устраняет большое количество проверок и сетевых взаимодействий (обращения между узлами системы).[0084] At the same time, due to the representation of all parameters as an instance of a class, the need to configure such an object through the use of various agents is eliminated, i.e. interaction with an object to configure such an object to perform a specific action, which, accordingly, eliminates a large number of checks and network interactions (calls between system nodes).
[0085] Так, в одном частном варианте реализации, при создании виртуального образа, такого как программный образ рабочего места, за счет реализации заявленного способа 100, обеспечивается нивелирования процесса загрузки всех необходимых компонент, таких как библиотеки, программная среда, конфигурации сетевых взаимодействий и т.д. Вместо этого, на виртуальном рабочем месте запускается образ, содержащий все необходимые компоненты[0085] Thus, in one particular embodiment, when creating a virtual image, such as a software image of a workstation, by implementing the claimed
[0086] В одном частном варианте осуществления, в случае необходимости возвращения отчета о результате выполняемой операции API-шлюз возвращает ответ в формате API-вызова в адрес модуля управления объектами. Так, модуль управления объектами может возвращать, в виде ответа на запрос API, информацию о коде статуса операций, результаты выполнения и другие параметры и данные.[0086] In one particular embodiment, if it is necessary to return a report on the result of an operation being performed, the API gateway returns a response in the format of an API call to the object management module. Thus, the object management module can return, in the form of a response to an API request, information about the operation status code, execution results and other parameters and data.
[0087] На фиг. 2 приведен схематический вид 200 вычислительной среды. Среда 200 включает в себя основные функциональные элементы, такие как: модуль кодирования/декодирования 101, модуль переноса стиля 102, модуль фильтрации стилизованных текстов 103, модуль ранжирования 104 стилизованных текстов. Более подробно элементы системы 100 раскрыты на фиг. 3.[0087] In FIG. 2 is a
[0088] Вычислительная среда 200 может представлять собой вычислительную систему, вычислительный комплекс, инфраструктуру облачного провайдера, облачный сервис, многопользовательскую вычислительную систему или среду, виртуальную вычислительную среду, среду с гибридной архитектурой.[0088] The
[0089] Модуль управления объектами 210 может представлять собой аппаратный, программно-аппаратный модуль на базе по меньшей мере одного вычислительного устройства, оснащенного соответствующим программным обеспечением. Так, в модуль управления объектами может быть реализован на базе системы 300, которая более подробно раскрыта на фиг. 3. Так, в еще одном частном варианте осуществления, модуль управления объектами может представлять собой по меньшей мере виртуальный сервер, физический сервер, кластер серверов.[0089] The
[0090] Объектами 220-1-220-N вычислительной среды могут являться вычислительные устройства, такие как рабочие станции, персональные компьютеры, настольные компьютеры, мобильные или портативные вычислительные устройства, такие как ноутбуки, планшетные компьютеры или другие портативные вычислительные устройства, серверы, такие как почтовые серверы, файловые серверы, серверы баз данных и веб-серверы. Кроме того, объектами вычислительной среды также могут являться программные и/или программно-аппаратные модули вычислительных узлов среды. Так, объекты вычислительной среды могут представлять собой процессоры, оперативную память, сетевые ресурсы, системы хранения, системное и прикладное программное обеспечение, программные библиотеки.[0090] The computing environment objects 220-1-220-N may be computing devices such as workstations, personal computers, desktop computers, mobile or portable computing devices such as laptops, tablet computers or other portable computing devices, servers such like mail servers, file servers, database servers and web servers. In addition, objects of the computing environment can also be software and/or hardware and software modules of the computing nodes of the environment. Thus, objects of the computing environment can be processors, RAM, network resources, storage systems, system and application software, and software libraries.
[0091] Для специалиста в данной области техники очевидно, что, хотя и описанные выше объекты 220-1-220-N представлены как отдельные устройства, указанные объекты, в частных случаях реализации, также могут быть объединены в составе одного устройства.[0091] It will be obvious to one skilled in the art that, although the objects 220-1-220-N described above are presented as separate devices, these objects, in particular implementation cases, can also be combined within a single device.
[0092] Таким образом, в вышеприведенных материалах были описаны система и способ автоматического управления объектами вычислительной среды, обеспечивающие высокую производительность среды, за счет сокращения сетевых взаимодействий в среде при выполнении целевых действий над объектами.[0092] Thus, the above materials described a system and method for automatically managing objects of a computing environment, ensuring high performance of the environment by reducing network interactions in the environment when performing targeted actions on objects.
[0093] На фиг. 3 представлен пример общего вида вычислительной системы 300, которая обеспечивает реализацию заявленного способа или является частью компьютерной системы, например, модулем 210, объектами 220-1-220-N, сервером, персональным компьютером, частью вычислительного кластера, обрабатывающим необходимые данные для осуществления заявленного технического решения.[0093] In FIG. 3 shows an example of a general view of a
[0094] В общем случае система 300 содержит такие компоненты, как: один или более процессоров 301, по меньшей мере одну память 302, средство хранения данных 303, интерфейсы ввода/вывода 304, средство В/В 305, средство сетевого взаимодействия 306, которые объединяются посредством универсальной шины.[0094] In general,
[0095] Процессор 301 выполняет основные вычислительные операции, необходимые для обработки данных при выполнении способа 100. Процессор 301 исполняет необходимые машиночитаемые команды, содержащиеся в оперативной памяти 302.[0095] The
[0096] Память 302, как правило, выполнена в виде ОЗУ и содержит необходимую программную логику, обеспечивающую требуемый функционал.[0096]
[0097] Средство хранения данных 303 может выполняться в виде HDD, SSD дисков, рейд массива, флэш-памяти, оптических накопителей информации (CD, DVD, MD, Blue-Ray дисков) и т.п. Средства 303 позволяют выполнять долгосрочное хранение различного вида информации, например авторизационных токенов, параметры целевых объектов и т.п.[0097] The
[0098] Для организации работы компонентов системы 300 и организации работы внешних подключаемых устройств применяются различные виды интерфейсов В/В 304. Выбор соответствующих интерфейсов зависит от конкретного исполнения вычислительного устройства, которые могут представлять собой, не ограничиваясь: PCI, AGP, PS/2, IrDa, FireWire, LPT, COM, SATA, IDE, Lightning, USB (2.0, 3.0, 3.1, micro, mini, type C), TRS/Audio jack (2.5, 3.5, 6.35), HDMI, DVI, VGA, Display Port, RJ45, RS232 и т.п.[0098] To organize the operation of
[0099] Выбор интерфейсов 304 зависит от конкретного исполнения системы (300), которая может быть реализована на базе широко класса устройств, например, персональный компьютер, мейнфрейм, ноутбук, серверный кластер, тонкий клиент, смартфон, сервер и т.п.[0099] The choice of
[0100] В качестве средств В/В данных 305 может использоваться: клавиатура, джойстик, дисплей (сенсорный дисплей), монитор, сенсорный дисплей, тачпад, манипулятор мышь, световое перо, стилус, сенсорная панель, трекбол, динамики, микрофон, средства дополненной реальности, оптические сенсоры, планшет, световые индикаторы, проектор, камера, средства биометрической идентификации (сканер сетчатки глаза, сканер отпечатков пальцев, модуль распознавания голоса) и т.п.[0100] The following can be used as I/O data 305: keyboard, joystick, display (touch display), monitor, touch display, touchpad, mouse, light pen, stylus, touchpad, trackball, speakers, microphone, augmented reality, optical sensors, tablet, light indicators, projector, camera, biometric identification tools (retina scanner, fingerprint scanner, voice recognition module), etc.
[0101] Средства сетевого взаимодействия 306 выбираются из устройств, обеспечивающий сетевой прием и передачу данных, например, Ethernet карту, WLAN/Wi-Fi модуль, Bluetooth модуль, BLE модуль, NFC модуль, IrDa, RFID модуль, GSM модем и т.п. С помощью средств 305 обеспечивается организация обмена данными между, например, системой 300, представленной в виде сервера и вычислительным устройством пользователя, на котором могут отображаться полученные данные (отчет о выполненном целевом действии на объекте вычислительной среды) по проводному или беспроводному каналу передачи данных, например, WAN, PAN, ЛВС (LAN), Интранет, Интернет, WLAN, WMAN или GSM.[0101] Network communication means 306 are selected from devices that provide network reception and transmission of data, for example, an Ethernet card, WLAN/Wi-Fi module, Bluetooth module, BLE module, NFC module, IrDa, RFID module, GSM modem, etc. . Using tools 305, the organization of data exchange is ensured between, for example, the
[0102] Конкретный выбор элементов системы 300 для реализации различных программно-аппаратных архитектурных решений может варьироваться с сохранением обеспечиваемого требуемого функционала.[0102] The specific selection of elements of the
[0103] Представленные материалы заявки раскрывают предпочтительные примеры реализации технического решения и не должны трактоваться как ограничивающие иные, частные примеры его воплощения, не выходящие за пределы испрашиваемой правовой охраны, которые являются очевидными для специалистов соответствующей области техники. Таким образом, объем настоящего технического решения ограничен только объемом прилагаемой формулы.[0103] The submitted application materials disclose preferred examples of implementation of a technical solution and should not be interpreted as limiting other, particular examples of its implementation that do not go beyond the scope of the requested legal protection, which are obvious to specialists in the relevant field of technology. Thus, the scope of the present technical solution is limited only by the scope of the attached formula.
Claims (21)
Publications (1)
Publication Number | Publication Date |
---|---|
RU2820753C1 true RU2820753C1 (en) | 2024-06-07 |
Family
ID=
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7124289B1 (en) * | 2000-10-31 | 2006-10-17 | Opsware Inc. | Automated provisioning framework for internet site servers |
US8560646B1 (en) * | 2010-09-28 | 2013-10-15 | Amazon Technologies, Inc. | Managing communications using alternative packet addressing |
US10496442B2 (en) * | 2015-03-27 | 2019-12-03 | Commvault Systems, Inc. | Job management and resource allocation in a data protection system |
US11251986B2 (en) * | 2017-01-12 | 2022-02-15 | Siemens Aktiengesellschaft | Automatically configuring functional units of an automation system |
RU2771431C1 (en) * | 2021-07-09 | 2022-05-04 | Общество с ограниченной ответственностью «Кодмастер» | Platform for building control systems, data tranfer and processing in computer networks |
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7124289B1 (en) * | 2000-10-31 | 2006-10-17 | Opsware Inc. | Automated provisioning framework for internet site servers |
US8560646B1 (en) * | 2010-09-28 | 2013-10-15 | Amazon Technologies, Inc. | Managing communications using alternative packet addressing |
US10496442B2 (en) * | 2015-03-27 | 2019-12-03 | Commvault Systems, Inc. | Job management and resource allocation in a data protection system |
US11251986B2 (en) * | 2017-01-12 | 2022-02-15 | Siemens Aktiengesellschaft | Automatically configuring functional units of an automation system |
RU2771431C1 (en) * | 2021-07-09 | 2022-05-04 | Общество с ограниченной ответственностью «Кодмастер» | Platform for building control systems, data tranfer and processing in computer networks |
Non-Patent Citations (1)
Title |
---|
КОСТРОМИН РОМАН ОЛЕГОВИЧ "СРАВНИТЕЛЬНЫЙ ОБЗОР СРЕДСТВ УПРАВЛЕНИЯ КОНФИГУРАЦИЯМИ РЕСУРСОВ ВЫЧИСЛИТЕЛЬНОЙ СРЕДЫ ФУНКЦИОНИРОВАНИЯ ЦИФРОВЫХ ДВОЙНИКОВ" Information and mathematical technologies in science and management опубл. N1 2021 URL: https://cyberleninka.ru/article/n/sravnitelnyy-obzor-sredstv-upravleniya-konfiguratsiyami-resursov-vychislitelnoy-sredy-funktsionirovaniya-tsifrovyh-dvoynikov. * |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10528585B2 (en) | ETL tool interface for remote mainframes | |
US9386079B2 (en) | Method and system of virtual desktop infrastructure deployment studio | |
US8621419B2 (en) | Automating the life cycle of a distributed computing application | |
US11924117B2 (en) | Automated local scaling of compute instances | |
US20090013321A1 (en) | Managing virtual computers | |
US11645098B2 (en) | Systems and methods to pre-provision sockets for serverless functions | |
US11379290B2 (en) | Prioritizing and parallelizing the capture of data for debugging computer programs | |
US10657027B2 (en) | Aggregating data for debugging software | |
US20220197249A1 (en) | Dynamic Cloud Deployment of Robotic Process Automation (RPA) Robots | |
US11750451B2 (en) | Batch manager for complex workflows | |
CN101159596A (en) | Method and apparatus for deploying servers | |
US20240103911A1 (en) | Intent-based orchestration of independent automations | |
CN115061813A (en) | Cluster resource management method, device, equipment and medium | |
RU2820753C1 (en) | Method and system for controlling objects and processes in computing environment | |
CN111241540A (en) | Service processing method and device | |
US20210056507A1 (en) | System and method for an intelligent workspace management | |
CN109582464B (en) | Method and device for managing multiple virtualization platforms by cloud platform | |
RU2818490C1 (en) | Method and system for distributing system resources for processing user requests | |
EP2869245A2 (en) | Service modeling and execution | |
KR102567773B1 (en) | Log information extraction device and method in combat system system | |
KR102111991B1 (en) | Apparatus and Method for Managing Resource of OS System | |
US20220237021A1 (en) | Systems and methods of telemetry diagnostics | |
woon Ahn et al. | Mirra: Rule-based resource management for heterogeneous real-time applications running in cloud computing infrastructures | |
CN114911494A (en) | Application deployment method, apparatus, electronic device and medium for distributed system | |
WO2024206188A1 (en) | Garbage collection thread composition adjustment |