RU2771444C1 - System and method for balancing connections between clients and servers - Google Patents
System and method for balancing connections between clients and servers Download PDFInfo
- Publication number
- RU2771444C1 RU2771444C1 RU2021113655A RU2021113655A RU2771444C1 RU 2771444 C1 RU2771444 C1 RU 2771444C1 RU 2021113655 A RU2021113655 A RU 2021113655A RU 2021113655 A RU2021113655 A RU 2021113655A RU 2771444 C1 RU2771444 C1 RU 2771444C1
- Authority
- RU
- Russia
- Prior art keywords
- server
- client
- servers
- information
- list
- Prior art date
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Software Systems (AREA)
- Quality & Reliability (AREA)
- Computer And Data Communications (AREA)
Abstract
Description
Область техникиTechnical field
Изобретение относится к области управления компьютерными сетями, а более конкретно к системам и способам балансировки подключений между клиентами и серверами.The invention relates to the field of computer network management, and more specifically to systems and methods for balancing connections between clients and servers.
Уровень техникиState of the art
Бурное развитие компьютерных технологий в последнее десятилетие, а также широкое распространение разнообразных вычислительных устройств (персональных компьютеров, ноутбуков, планшетов, смартфонов и т.д.) стали мощным стимулом для использования упомянутых устройств в разнообразных сферах деятельности и для огромного количества задач (от интернет-сёрфинга до банковских переводов и ведения электронного документооборота).The rapid development of computer technology in the last decade, as well as the widespread use of various computing devices (personal computers, laptops, tablets, smartphones, etc.) have become a powerful incentive for the use of these devices in various fields of activity and for a huge number of tasks (from the Internet to surfing to bank transfers and electronic document management).
Всё это дало толчок к развитию технологий параллельных и распределённых вычислений, облачных технологий и т.д., когда ресурсоёмкие задачи лишь частично выполняются на клиентах, а большая часть работы зачастую выполняется на распределённых серверах, с которыми упомянутые клиенты устанавливают соединения. В качестве примеров можно привести удалённое решение сложных математических задач, работу с мультимедиа данными, разнообразные антивирусные проверки и даже рендеринг в компьютерных играх.All this gave impetus to the development of technologies for parallel and distributed computing, cloud technologies, etc., when resource-intensive tasks are only partially performed on clients, and most of the work is often performed on distributed servers, with which the mentioned clients establish connections. Examples include remote solving complex mathematical problems, working with multimedia data, various anti-virus checks, and even rendering in computer games.
Кроме требований к стабильности работы серверов при такой организации работы зачастую также предъявляются жёсткие требования к устойчивости соединения между клиентами и серверами, к эффективности обмена данными между клиентами и серверами и т.д. Реализация данных требований часто негативно сказывается на других характеристиках работы, например, объёме генерируемого сетевого трафика между клиентами и серверами и т.п.In addition to the requirements for the stability of the servers, this organization of work often also imposes strict requirements on the stability of the connection between clients and servers, on the efficiency of data exchange between clients and servers, etc. The implementation of these requirements often negatively affects other performance characteristics, for example, the amount of network traffic generated between clients and servers, etc.
Для обеспечения устойчивости соединений между клиентами и серверами реализуется подход, при котором клиент держит у себя список серверов, с которыми он может соединяться, и в случае обрыва соединения обеспечивает соединение со следующим сервером из списка, что позволяет выполнять поставленную задачу постоянно. To ensure the stability of connections between clients and servers, an approach is implemented in which the client keeps a list of servers with which it can connect, and in the event of a connection break, it provides a connection to the next server from the list, which allows you to perform the task all the time.
В целях выполнения автоматического переключения клиентов между серверами при потере соединения или в процессе балансировки нагрузки каждый клиент получает список серверов, доступных для подключения данному клиенту. Получив список доступных для подключения серверов, клиент периодически опрашивает каждый сервер из списка на предмет его сетевой доступности и запрашивает текущую загрузку и прочую служебную информацию. В случае если большому количеству клиентов доступно достаточно много серверов (например, 10 тысячам клиентов доступно 100 серверов), в сети возникает большой объем служебного трафика, генерируемого каждой парой клиент-сервер (например, для 10 тысяч клиентов и 100 серверов генерируется 1 миллион пар). В результате возможны инциденты, когда используемые на клиенте межсетевые экраны достигают установленного максимального количества соединений, и работа сети нарушается.In order to automatically switch clients between servers when a connection is lost or during load balancing, each client receives a list of servers available for connection to this client. Having received a list of servers available for connection, the client periodically polls each server from the list for its network availability and requests the current load and other service information. If a large number of clients have enough servers available (for example, 10 thousand clients have access to 100 servers), the network generates a large amount of service traffic generated by each client-server pair (for example, 1 million pairs are generated for 10 thousand clients and 100 servers) . As a result, incidents are possible when the firewalls used on the client reach the set maximum number of connections, and the network is disrupted.
В публикации US9680764B2 описывается технология балансировки нагрузки виртуальных машин, соединённых в закольцованную систему. Для балансировки используются агенты, подключённые к указанной системе виртуальных машин и получающие задачи по подключению от промежуточного устройства. Агенты определяют нагрузку на заданные виртуальные машины и определяют, к каким виртуальным машинам требуется осуществить соединение. Publication US9680764B2 describes a technology for load balancing virtual machines connected in a looped system. For balancing, agents are used that are connected to the specified system of virtual machines and receive connection tasks from an intermediate device. Agents determine the load on given virtual machines and determine which virtual machines to connect to.
Хотя описанная технология и справляется с задачей балансировки нагрузки на виртуальные машины (т.е. оптимизирует производительность клиент-серверных систем), она не справляется с задачами балансировки подключений между клиентами и серверами при большом количестве клиентов (проблема описана выше).Although the described technology copes with the task of load balancing on virtual machines (i.e., it optimizes the performance of client-server systems), it does not cope with the tasks of balancing connections between clients and servers with a large number of clients (the problem is described above).
Настоящее изобретение позволяет решать задачи балансировки подключений между клиентами и серверами для устранения описанных выше проблем.The present invention makes it possible to solve the problems of balancing connections between clients and servers in order to overcome the problems described above.
Раскрытие изобретенияDisclosure of invention
Изобретение предназначено для управления элементами компьютерной сети.The invention is intended to control the elements of a computer network.
Технический результат настоящего изобретения заключается в уменьшении сетевого трафика за счёт соединения между заданными клиентом и сервером.The technical result of the present invention is to reduce network traffic due to the connection between a given client and server.
Ещё один технический результат настоящего изобретения заключается в повышении производительности клиент-серверной архитектуры за счёт уменьшения количества соединений между клиентами и серверами.Another technical result of the present invention is to improve the performance of the client-server architecture by reducing the number of connections between clients and servers.
Данные результаты достигаются с помощью использования системы балансировки подключений между клиентами и серверами, которая содержит сервер сканирования, работающий на каждом сервере из сформированного набора серверов и предназначенный для сбора данных о сервере; агент, работающий на каждом клиенте из сформированного набора клиентов и предназначенный для: сбора данных об указанном клиенте; соединения между указанным клиентом и выбранным сервером; средство обнаружения сервисов, предназначенное для формирования списка доступных серверов для каждого клиента на основании собранных данных, при этом сформированный список доступных серверов является стабильным к изменению собранных данных в заданном диапазоне; средство балансировки, предназначенное для выбора сервера из сформированного для указанного клиента списка доступных серверов на основании наступления заданных условий для выполнения балансировки подключения.These results are achieved by using a system for balancing connections between clients and servers, which contains a scanning server running on each server from the generated set of servers and designed to collect data about the server; an agent that works on each client from the generated set of clients and is designed to: collect data about the specified client; connections between the specified client and the selected server; a service discovery means for generating a list of available servers for each client based on the collected data, wherein the generated list of available servers is stable against changes in the collected data within a predetermined range; a balancing tool designed to select a server from the list of available servers generated for the specified client based on the occurrence of specified conditions for balancing the connection.
В другом частном случае реализации системы в качестве данных о сервере выступают по меньшей мере: идентификатор сервера, в частности его BIOS ID; IP адрес сервера и порт подключения клиента к серверу; информация о сетевой доступности сервера, в частности о целостности и качестве соединения между клиентом и сервером; информация об обслуживаемых тегах, где в качестве тегов выступают заранее заданные метки, характеризующие по меньшей мере сервер, пару клиент-сервер; информация об установленном программном обеспечении, в том числе по меньшей мере: информация о лицензии сервера сканирования, работающего на сервере, в частности о наличии и типе лицензии; информация о версии антивирусных баз, используемых сервером сканирования; информация о доступных вычислительных ресурсах сервера, в частности о подключённых к серверу клиентах; информация о расположении сервера в виртуальной инфраструктуре.In another particular case of the system implementation, the server data are at least: the server identifier, in particular its BIOS ID; Server IP address and client connection port to the server; information about the network availability of the server, in particular about the integrity and quality of the connection between the client and the server; information about the tags served, where the tags are predefined labels that characterize at least a server, a client-server pair; information about the installed software, including at least: information about the license of the scan server running on the server, in particular the presence and type of license; information about the version of the anti-virus databases used by the scanning server; information about the available computing resources of the server, in particular about the clients connected to the server; information about the location of the server in the virtual infrastructure.
Ещё в одном частном случае реализации системы в качестве данных о клиенте выступают по меньшей мере идентификатор клиента, в частности его BIOS ID; информация о сетевой доступности клиента, в частности о целостности и качестве соединения между клиентом и сервером; информация об обслуживаемых тегах, где в качестве тегов выступают заранее заданные метки, характеризующие по меньшей мере клиент, пару клиент-сервер; информация об установленном программном обеспечении, в частности информация о версии антивирусных баз, используемых агентом, работающим на клиенте; информация о требуемых клиенту вычислительных ресурсах; информация о расположении клиента в виртуальной инфраструктуре.In another particular case of system implementation, at least the client identifier, in particular, its BIOS ID, acts as client data; information about the network availability of the client, in particular about the integrity and quality of the connection between the client and the server; information about the tags being served, where the tags are predefined labels that characterize at least a client, a client-server pair; information about installed software, in particular, information about the version of anti-virus databases used by the agent running on the client; information about the computing resources required by the client; information about the location of the client in the virtual infrastructure.
В другом частном случае реализации системы в качестве сервера выступает виртуальная машина.In another particular case of system implementation, a virtual machine acts as a server.
Ещё в одном частном случае реализации системы формируют список доступных серверов в виде направленного кольцевого списка серверов.In another particular case, system implementations form a list of available servers in the form of a directed circular list of servers.
В другом частном случае реализации системы список доступных серверов упорядочивают по значению хэш-суммы идентификатора сервера.In another particular implementation of the system, the list of available servers is ordered by the hash value of the server ID.
Ещё в одном частном случае реализации системы для переподключения клиента последовательно выбирают сервера из списка доступных серверов, начиная с сервера, значение хэш-суммы идентификатора которого располагается непосредственно после потенциальной позиции значения хэш-суммы идентификатора агента в направленном кольцевом списке серверов.In another particular case of the implementation of the system for reconnecting the client, servers are sequentially selected from the list of available servers, starting from the server whose hash value of the identifier is located immediately after the potential position of the hash sum of the agent identifier in the directed circular list of servers.
В другом частном случае реализации системы сформированные для клиентов списки доступных серверов суммарно содержат количество серверов меньше заданного порогового значения.In another particular case of system implementation, the lists of available servers generated for clients contain the total number of servers less than the specified threshold value.
Ещё в одном частном случае реализации системы в качестве заданных условий для выполнения балансировки подключения между клиентом и сервером выступает по меньшей мере: обрыв соединения между клиентом и сервером; обнаружение сервера с помощью заданного алгоритма балансировки.In another particular case of the system implementation, at least the following conditions act as predetermined conditions for balancing the connection between the client and the server: disconnection between the client and the server; server discovery using the specified balancing algorithm.
В другом частном случае реализации системы в качестве алгоритма балансировки выступает обученная модель балансировки.In another particular case of system implementation, a trained balancing model acts as a balancing algorithm.
Данные результаты достигаются с помощью использования способа балансировки подключений между клиентами и серверами, при этом способ содержит этапы, которые реализуются с помощью средств из системы по п.1 и на которых: собирают с помощью сервера сканирования, работающего на соответствующем сервере из сформированного набора серверов, данные о серверах из сформированного набора серверов; собирают с помощью агента, работающего на соответствующем клиенте из сформированного набора клиентов, данные о клиентах из сформированного набора клиентов; формируют с помощью средства обнаружения сервисов список доступных серверов для каждого клиента на основании собранных данных, при этом сформированный список доступных серверов является стабильным к изменению собранных данных в заданном диапазоне; выбирают с помощью средства балансировки сервер из сформированного для указанного клиента списка доступных серверов на основании наступления заданных условий; осуществляют с помощью агента соединение между указанным клиентом и выбранным сервером условий для выполнения балансировки подключения.These results are achieved by using a method for balancing connections between clients and servers, while the method contains steps that are implemented using the tools from the system according to claim 1 and in which: they are collected using a scan server running on the corresponding server from the generated set of servers, data about servers from the generated set of servers; collecting, by means of an agent running on a corresponding client from the generated set of clients, data about the clients from the generated set of clients; using the service discovery tool, generating a list of available servers for each client based on the collected data, wherein the generated list of available servers is stable to changes in the collected data within a predetermined range; using the balancing tool, a server is selected from the list of available servers generated for the specified client based on the occurrence of specified conditions; using an agent to establish a connection between the specified client and the selected condition server to perform connection balancing.
В другом частном случае реализации способа в качестве данных о сервере выступают по меньшей мере: идентификатор сервера, в частности его BIOS ID; IP адрес сервера и порт подключения клиента к серверу; информация о сетевой доступности сервера, в частности о целостности и качестве соединения между клиентом и сервером; информация об обслуживаемых тегах, где в качестве тегов выступают заранее заданные метки, характеризующие по меньшей мере сервер, пару клиент-сервер; информация об установленном программном обеспечении, в том числе по меньшей мере: информация о лицензии сервера сканирования, работающего на сервере, в частности о наличии и типе лицензии; информация о версии антивирусных баз, используемых сервером сканирования; информация о доступных вычислительных ресурсах сервера, в частности о подключённых к серверу клиентах; информация о расположении сервера в виртуальной инфраструктуре.In another particular case of the implementation of the method, the data about the server are at least: the server identifier, in particular its BIOS ID; Server IP address and client connection port to the server; information about the network availability of the server, in particular about the integrity and quality of the connection between the client and the server; information about the tags served, where the tags are predefined labels that characterize at least a server, a client-server pair; information about the installed software, including at least: information about the license of the scan server running on the server, in particular the presence and type of license; information about the version of the anti-virus databases used by the scanning server; information about the available computing resources of the server, in particular about the clients connected to the server; information about the location of the server in the virtual infrastructure.
Ещё в одном частном случае реализации способа в качестве данных о клиенте выступают по меньшей мере: идентификатор клиента, в частности его BIOS ID; информация о сетевой доступности клиента, в частности о целостности и качестве соединения между клиентом и сервером; информация об обслуживаемых тегах, где в качестве тегов выступают заранее заданные метки, характеризующие по меньшей мере клиент, пару клиент-сервер; информация об установленном программном обеспечении, в частности информация о версии антивирусных баз, используемых агентом, работающим на клиенте; информация о требуемых клиенту вычислительных ресурсах; информация о расположении клиента в виртуальной инфраструктуре..In another particular case of the implementation of the method, at least the following are used as client data: client identifier, in particular, its BIOS ID; information about the network availability of the client, in particular about the integrity and quality of the connection between the client and the server; information about the tags being served, where the tags are predefined labels that characterize at least a client, a client-server pair; information about installed software, in particular, information about the version of anti-virus databases used by the agent running on the client; information about the computing resources required by the client; information about the location of the client in the virtual infrastructure.
В другом частном случае реализации способа в качестве сервера выступает виртуальная машина.In another particular case of the implementation of the method, a virtual machine acts as a server.
Ещё в одном частном случае реализации способа формируют список доступных серверов в виде направленного кольцевого списка серверов.In another particular case of implementing the method, a list of available servers is formed in the form of a directed circular list of servers.
В другом частном случае реализации способа список доступных серверов упорядочивают по значению хэш-суммы идентификатора сервера.In another particular case of the implementation of the method, the list of available servers is ordered by the value of the hash sum of the server identifier.
Ещё в одном частном случае реализации способа для переподключения клиента последовательно выбирают сервера из списка доступных серверов, начиная с сервера, значение хэш-суммы идентификатора которого располагается непосредственно после потенциальной позиции значения хэш-суммы идентификатора агента в направленном кольцевом списке серверов.In another particular case of implementing the method for reconnecting the client, servers are sequentially selected from the list of available servers, starting from the server whose identifier hash value is located immediately after the potential position of the agent identifier hash value in the directed circular list of servers.
В другом частном случае реализации способа формированные для клиентов списки доступных серверов суммарно содержат серверов меньше заданного порогового значения.In another particular case of the implementation of the method, the lists of available servers generated for clients contain servers in total that are less than a predetermined threshold value.
Ещё в одном частном случае реализации способа в качестве заданных условий для выполнения балансировки подключения между клиентом и сервером выступает по меньшей мере: обрыв соединения между клиентом и сервером; обнаружение сервера с помощью заданного алгоритма балансировки.In another particular case of the implementation of the method, at least the following acts as predetermined conditions for balancing the connection between the client and the server: disconnection between the client and the server; server discovery using the specified balancing algorithm.
В другом частном случае реализации способа в качестве алгоритма балансировки выступает обученная модель балансировки.In another particular case of the implementation of the method, the trained balancing model acts as a balancing algorithm.
Краткое описание чертежейBrief description of the drawings
Фиг. 1 представляет структурную схему системы балансировки подключений между клиентами и серверами. Fig. 1 is a block diagram of a system for balancing connections between clients and servers.
Фиг. 2 представляет структурную схему способа балансировки подключений между клиентами и серверами. Fig. 2 is a block diagram of a method for balancing connections between clients and servers.
Фиг. 3 представляет пример компьютерной системы общего назначения, персональный компьютер или сервер. Fig. 3 represents an example of a general purpose computer system, a personal computer or a server.
Хотя изобретение может иметь различные модификации и альтернативные формы, характерные признаки, показанные в качестве примера на чертежах, будут описаны подробно. Следует понимать, однако, что цель описания заключается не в ограничении изобретения конкретным его воплощением. Наоборот, целью описания является охват всех изменений, модификаций, входящих в рамки данного изобретения, как это определено приложенной формуле.Although the invention may have various modifications and alternative forms, the characteristic features shown by way of example in the drawings will be described in detail. It should be understood, however, that the purpose of the description is not to limit the invention to a particular embodiment thereof. On the contrary, the purpose of the description is to cover all changes, modifications, included in the scope of this invention, as defined by the attached claims.
Описание вариантов осуществления изобретенияDescription of embodiments of the invention
Объекты и признаки настоящего изобретения, способы для достижения этих объектов и признаков станут очевидными посредством отсылки к примерным вариантам осуществления. Однако настоящее изобретение не ограничивается примерными вариантами осуществления, раскрытыми ниже, оно может воплощаться в различных видах. Сущность, приведённая в описании, является ничем иным, как конкретными деталями, необходимыми для помощи специалисту в области техники в исчерпывающем понимании изобретения, и настоящее изобретение определяется в объёме приложенной формулы.The objects and features of the present invention, methods for achieving these objects and features will become apparent by reference to exemplary embodiments. However, the present invention is not limited to the exemplary embodiments disclosed below, but may be embodied in various forms. The gist of the description is nothing but the specific details necessary to assist a person skilled in the art in a thorough understanding of the invention, and the present invention is defined within the scope of the appended claims.
Введём ряд определений и понятий, которые будут использоваться при описании вариантов осуществления изобретения.Let us introduce a number of definitions and concepts that will be used in describing embodiments of the invention.
Виртуальная машина (англ. virtual machine, VM) - виртуальная вычислительная система, которая состоит из виртуальных устройств обработки, хранения и передачи данных, и которая дополнительно может содержать программное обеспечение и пользовательские данные. Virtual machine (eng. virtual machine, VM ) - a virtual computing system that consists of virtual devices for processing, storing and transmitting data, and which may additionally contain software and user data.
Частным случаем виртуальной машины является виртуальная машина для обеспечения безопасности (англ. security virtual machine, SVM) – виртуальная машина, обеспечивающая информационную безопасность передаваемых ей данных.A special case of a virtual machine is a security virtual machine (eng. security virtual machine, SVM ) - a virtual machine that ensures the information security of the data transmitted to it.
Фиг. 1 представляет структурную схему системы балансировки подключений между клиентами и серверами. Fig. 1 is a block diagram of a system for balancing connections between clients and servers.
Структурная схема системы балансировки подключений между клиентами и серверами состоит из серверов 110, серверов сканирования 111, клиентов 120, агентов 121, средства обнаружения сервисов 130, средства балансировки 140, модели балансировки 141, средства переобучения 150.The block diagram of the connection balancing system between clients and servers consists of
В общем случае сервера 110 являются частью заранее сформированного набора серверов, из которого указанные сервера могут выбираться, представляющего собой базу данных, содержащую информацию об указанных серверах.In general,
В общем случае клиенты 120 являются частью заранее сформированного набора клиентов, из которого указанные клиенты могут выбираться, представляющего собой базу данных, содержащую информацию об указанных клиентах.In general,
Сервер сканирования 111, работающий на каждом сервере 110 из набора серверов, предназначен для сбора данных об указанном сервере 110 и передачи данных средству обнаружения сервисов 130.The
В одном из вариантов реализации системы в качестве сервера 110 выступает виртуальная машина.In one implementation of the system, the
Например, на каждом из нескольких серверов 110 может работать несколько виртуальных машин, к которым и подключаются клиенты 120 (т.е. клиент 120 устанавливает соединение с сервером 110 и обменивается данными с виртуальной машиной, работающей на указанном сервере 110, причем соединение с сервером 110 может быть «прозрачным», т.е. клиент 120 работает с виртуальной машиной напрямую, а промежуточная работа с сервером 110 выполняется внешними сервисами).For example, each of
Ещё в одном из вариантов реализации системы в качестве данных о сервере 110 выступают по меньшей мере:In yet another implementation of the system, the data about the
• идентификатор сервера 110, в частности его BIOS ID;•
• IP-адрес сервера 110 и порт подключения клиента 120 к серверу 110;• IP-address of the
• информация о сетевой доступности сервера 110, в частности о целостности и качестве соединения между клиентом 120 и сервером 110;• information about the network availability of the
• информация об обслуживаемых тегах, где в качестве тегов выступают заранее заданные метки, характеризующие по меньшей мере:• information about the tags served, where the tags are predefined labels that characterize at least:
• сервер 110, •
• пару клиент 120 – сервер 110;• a pair of client 120 -
• информация об установленном на сервере 110 программном обеспечении, в том числе по меньшей мере:• information about the software installed on the
• информация о лицензии сервера сканирования 111, работающего на сервере 110, в частности о наличии и типе лицензии;• information about the license of the
• информация о версии антивирусных баз, используемых сервером сканирования 111;• information about the version of the anti-virus databases used by the
• информация о доступных вычислительных ресурсах сервера 110, в частности о подключённых к серверу 110 клиентах 120;• information about the available computing resources of the
• информация о расположении сервера 110 в виртуальной инфраструктуре.• information about the location of the
В качестве идентификатора сервера 110 может выступать любая известная из уровня техники характеристика, однозначно идентифицирующая указанный сервер 110.The identifier of the
В качестве информации о сетевой доступности сервера 110 могут выступать данные, полученные такими утилитами, как ping и tracert, а именно:The information about the network availability of the
• работает ли запрашиваемый сервер 110;• whether the requested
• процент потерянных сетевых пакетов, переданных от клиента 120 серверу 110;• percentage of lost network packets transmitted from
• время, затрачиваемое на передачу сетевых пакетов от клиента 120 серверу 110 и обратно;• the time taken to transfer network packets from the
• маршрут следования данных от клиента 120 к серверу 110.• the data path from the
В качестве обслуживаемых тегов могут выступать данные (в том числе числа и строки), позволяющие группировать сервера 110 из набора доступных серверов и формировать списки доступных серверов для клиентов 120, выбирая сервера 110 из заданных групп.Served tags can be data (including numbers and strings) that allows you to group
Например, для клиентов 120 с обслуживаемым тегом ‘xyz’ заранее формируют (любым известным из уровня техники способом, например, силами аналитика или автоматически на основании характеристик, описывающих сервера 110 и клиенты 120 и позволяющих провести их кластеризацию) список доступных серверов из группы серверов с тем же тегом ‘xyz’. При этом теги могут формироваться аналитиками.For example, for
В качестве информации об установленном на сервере 110 программном обеспечении может выступать информация о лицензии сервера сканирования 111 (англ. software license - лицензия на программное обеспечение), работающего на сервере 110, при этом списки доступных серверов формируются в порядке уменьшения приоритета из серверов 110, на которых функционируют сервера сканирования 111 с коммерческой лицензией, с бесплатной лицензией и с отсутствием лицензии.Information about the license of the scan server 111 (eng. software license - software license) running on the
В одном из вариантов реализации системы описываемая клиент-серверная архитектура предназначена для распределённой проверки объектов (файлов, дампов памяти и т.д.), выявляемых на клиенте 120, как на указанном клиенте 120, так и на специализированном сервере 110. Т.е. используется для осуществления облачной антивирусной защиты. В этом случае как на клиенте 120, так и на сервере 110 функционируют антивирусные движки (англ. anti-malware engine), которые по запросу клиента 120 через агента 121 осуществляют анализ предоставляемых агентом 121 объектов.In one of the embodiments of the system, the described client-server architecture is intended for distributed verification of objects (files, memory dumps, etc.) detected on the
В случае, когда описываемая клиент-серверная архитектура используется для облачной антивирусной защиты (см. выше), список доступных серверов формируют (любым известным из уровня техники способом, например, силами аналитика или автоматически на основании характеристик, описывающих сервера 110 и клиенты 120) из серверов 110, на которых антивирусные базы, используемые сервером сканирования 111, имеют версию такую же, как и антивирусные базы, используемые агентом 121, функционирующем на клиенте 120.In the case when the described client-server architecture is used for cloud-based anti-virus protection (see above), the list of available servers is formed (by any method known from the prior art, for example, by an analyst or automatically based on
Ещё в одном примере список доступных серверов формируют из серверов 110, на которых антивирусные базы обновлялись не позднее или не раньше заданного временного диапазона, чем антивирусные базы, используемые агентом 121, функционирующем на клиенте 120. In another example, the list of available servers is formed from
Например, антивирусные базы на сервере 110 не должны быть более чем на 8 часов старше антивирусных баз на клиенте 120.For example, anti-virus databases on
В качестве информации о вычислительных ресурсах сервера 110 может выступать по меньшей мере:As information about the computing resources of the
• загрузка сервера 110 (к примеру, процент использования процессора или объёма оперативной памяти);• the load on the server 110 (eg percentage of CPU or RAM used);
• производительность сервера 110;•
• некоторый комплексный весовой коэффициент, вычисляемый на основании различных параметров, характеризующих работу сервера 110.• some complex weight coefficient calculated on the basis of various parameters characterizing the operation of the
В качестве информации о расположении сервера 110 в виртуальной инфраструктуре выступает иерархическая структура, описывающая расположение указанного сервера 110 в иерархии [сервер управления виртуальной структурой] – [датацентр] – [кластер] – [хост (гипервизор)] – [виртуальная машина].The information about the location of the
Агент 121, работающий на каждом клиенте 120 из сформированного набора клиентов предназначен для:
• сбора данных об указанном клиенте 120 и передачи собранных данных средству обнаружения сервисов 130;• collecting data about the specified
• соединения между указанным клиентом 120 и выбранным сервером 110 по запросу средства балансировки 140.• connections between a
В одном из вариантов реализации системы в качестве данных о клиенте 120 выступают по меньшей мере:In one implementation of the system, the
• идентификатор клиента 120, в частности его BIOS ID;•
• информация о сетевой доступности клиента 120, в частности о целостности и качестве соединения между клиентом 120 и сервером 110;• information about the network availability of the
• информация об обслуживаемых тегах, где в качестве тегов выступают заранее заданные метки, характеризующие по меньшей мере:• information about the tags served, where the tags are predefined labels that characterize at least:
• клиент 120, •
• пару клиент 120 – сервер 110;• a pair of client 120 -
• информация об установленном на клиенте 120 программном обеспечении, в частности информация о версии антивирусных баз, используемых агентом 121, работающим на клиенте 120;• information about the software installed on the
• информация о требуемых клиенту 120 вычислительных ресурсах;• information about the computing resources required by the client;
• информация о расположении клиента 120 в виртуальной инфраструктуре.• information about the location of the
В качестве идентификатора клиента 120 может выступать любая известная из уровня техники характеристика, однозначно идентифицирующая указанный клиент 120.The identifier of the
В качестве информации о сетевой доступности клиента 120 могут выступать данных, полученные такими утилитами, как ping и tracert, а именно:The network reachability information of the
• процент потерянных сетевых пакетов, переданных от клиента 120 серверу 110;• percentage of lost network packets transmitted from
• время, затрачиваемое на передачу сетевых пакетов от клиента 120 серверу 110 и обратно;• the time taken to transfer network packets from the
• маршрут следования данных от клиента 120 к серверу 110.• the data path from the
В качестве обслуживаемых тегов могут выступать данные (в том числе числа и строки), характеризующие группу серверов 110 и позволяющие выбрать указанную группу серверов 110 из набора доступных серверов и сформировать списки доступных серверов для клиента 120.Served tags can be data (including numbers and strings) that characterizes a group of
В случае, когда описываемая клиент-серверная архитектура используется для облачной антивирусной защиты (см. выше) список доступных серверов формируют из серверов 110, на которых антивирусные базы, используемые сервером сканирования 111, имеют версию такую же, как и антивирусные базы, используемые агентом 121, функционирующем на клиенте 120.In the case when the described client-server architecture is used for cloud-based anti-virus protection (see above), the list of available servers is formed from
Ещё в одном примере список доступных серверов формируют из серверов 110, на которых антивирусные базы обновлялись не позднее или не раньше заданного временного диапазона, чем антивирусные базы, используемые агентом 121, функционирующем на клиенте 120. In another example, the list of available servers is formed from
Например, антивирусные базы на сервере 110 не должны быть более чем на 8 часов старше антивирусных баз на клиенте 120.For example, anti-virus databases on
В качестве информации о требуемых клиенту 120 вычислительных ресурсах может выступать по меньшей мере:As information about the computing resources required by the
• объём данных, требующих обработки;• the amount of data to be processed;
• максимальное время, необходимое для обработки указанных данных.• the maximum time required to process the specified data.
В качестве информации о расположении клиента 120 в виртуальной инфраструктуре выступает иерархическая структура, описывающая расположение указанного клиента 120 в иерархии [сервер управления виртуальной структурой] – [датацентр] – [кластер] – [клиент].As information about the location of the
Средство обнаружения сервисов 130 (англ. virtual infrastructure integration server, VIIS, или англ. discovery service), предназначено для формирования списка доступных серверов для каждого клиента 120 на основании собранных серверами сканирования 111 и агентами 121 данных, при этом сформированный список доступных серверов является стабильным к изменению собранных данных в заданном диапазоне.The service discovery tool 130 (virtual infrastructure integration server, VIS, or discovery service) is designed to generate a list of available servers for each
Стабильность списка доступных серверов для заданного клиента 120 к изменению собранных данных заключается по меньшей мере в следующем:The stability of the list of available servers for a given
• один и тот же клиент 120 всегда получает один и тот же список доступных серверов из подходящих для указанного клиента 120 серверов 110 за исключением случаев, когда некоторые сервера 110 из указанного списка не отвечают (отключены, перегружены и т.д.), при выполнении которых формируемый список доступных серверов дополняется новыми серверами 110 из подходящих для указанного клиента 120 серверов 110;• the
• изменения некоторых данных, получаемых от клиента 120 или серверов 11 (например, установленное программное обеспечение, загрузка серверов 110 и т.д.) не влияет на формируемый для указанного клиента 120 список доступных серверов, хотя и влияет на выбор средством балансировки 140 сервера 110 из сформированного списка доступных серверов для соединения клиента 120 с выбранным сервером 110.• changes in some data received from the
В одном из вариантов реализации с помощью средства обнаружения сервисов 130 формируют список серверов в виде направленного кольцевого списка серверов. При этом список доступных серверов формируют из серверов 110, с которыми возможно установить соединение (сервера 110 отвечают на запросы) и которые способны выполнять клиентские задачи (сервер 110 имеет свободные вычислительные ресурсы для выполнения клиентских задач).In one implementation, the
Ещё в одном из вариантов реализации системы список доступных серверов с помощью средства обнаружения сервисов 130 упорядочивают по значению хэш-суммы идентификатора сервера 110.In another implementation of the system, the list of available servers is ordered by the
Ещё в одном из вариантов реализации системы для переподключения клиента 120 последовательно выбирают сервера 110 из списка доступных серверов, начиная с сервера 110, значение хэш-суммы идентификатора которого располагается непосредственно после позиции значения хэш-суммы идентификатора клиента 120 (также может использоваться хэш-сумма идентификатора агента 121, поскольку в клиент-серверной архитектуре функционирует связка клиент 120 + агент 121 и сервер 110 + сервер сканирования 111) в направленном кольцевом списке серверов.In yet another implementation of the system for reconnecting
Ещё в одном из вариантов реализации системы списки доступных серверов, сформированные для клиентов 120, суммарно содержат количество серверов 110 меньше заданного порогового значения.In yet another embodiment of the system, the lists of available servers generated for
Ещё в одном из вариантов реализации системы списки доступных серверов формируют таким образом, чтобы сервера 110, доступные из набора доступных серверов, были равномерно распределены по формируемым спискам.In yet another implementation of the system, the lists of available servers are formed in such a way that the
Данная задача достигается за счёт использования системы хэширования: формирование стабильного списка серверов 110 для клиента 120 осуществляется на основании направленного кольцевого списка доступных серверов, упорядоченного по хэш-сумме идентификатора сервера 110 (также может использоваться идентификатор сервера сканирования 111, идентификатор виртуальной машины, на которой работает указанный сервер сканирования 111, и т.д.) и хэш-сумме идентификатора клиента 120 (также может использоваться идентификатор агента 121).This task is achieved through the use of a hashing system: the formation of a stable list of
Для каждого клиента 120 берётся заданное количество серверов 110 из кольцевого списка доступных серверов, начиная с первого сервера 110, хэш-сумма идентификатора которого равна или больше хэш-суммы идентификатора клиента 120.For each
Ещё в одном из вариантов реализации системы формируемые списки доступных серверов для каждого клиента 120 не сохраняются на диск, что позволяет повысить скорость выдачи указанных списков клиентам 120 при экономии ресурсов жёсткого диска (или подсистемы, выполняющей функции персистентного хранилища).In another implementation of the system, the generated lists of available servers for each
Ещё в одном из вариантов реализации системы клиенты 120 могут обмениваться между собой списками доступных серверов в обход средства обнаружения сервисов 130, снижая таким образом объём служебного трафика между клиентами 120 и средством обнаружения сервисов 130, который может быть перегружен запросами.In yet another implementation of the system,
В частности, обмениваться списками доступных серверов могут клиенты 120, обладающие схожими характеристиками, в качестве которых может выступать:In particular,
• информация об обслуживаемых тегах, где в качестве тегов выступают заранее заданные метки, характеризующие по меньшей мере:• information about the tags served, where the tags are predefined labels that characterize at least:
• клиент 120, •
• пару клиент 120 – сервер 110;• a pair of client 120 -
• информация о расположении клиентов 120 в одной виртуальной инфраструктуре.• information about the location of the
Ещё в одном из вариантов реализации системы формирование списка доступных серверов для клиентов 120 выполняется периодически через заданный диапазон времени (например, каждые 5 минут).In another implementation of the system, the list of available servers for
Средство балансировки 140 предназначено для выбора сервера 110 из сформированного средством обнаружения сервисов 130 для указанного клиента 120 списка доступных серверов на основании наступления заданных условий.The
В одном из вариантов реализации системы в качестве заданных условий для выполнения балансировки подключения между клиентом 120 и сервером 110 выступает по меньшей мере:In one embodiment of the system, the predetermined conditions for balancing the connection between
• обрыв соединения между клиентом 120 и сервером 110;• broken connection between
• обнаружение более оптимального сервера 110 с помощью заданного алгоритма балансировки.• discovery of a more
В одном из вариантов реализации системы оптимальность сервера 110 определяется по меньшей мере его:In one implementation of the system, the optimality of the
• загрузкой (используемыми вычислительными ресурсами на момент соединения с сервером);• loading (used computing resources at the moment of connection with the server);
• временем соединения с сервером;• connection time with the server;
• скоростью обмена данными между клиентом и сервером;• speed of data exchange between the client and the server;
• стабильностью соединения между клиентом и сервером (в том числе средним временем между соседними обрывами соединения между клиентом и сервером).• stability of the connection between the client and the server (including the average time between adjacent breaks in the connection between the client and the server).
В качестве алгоритма балансировки для обнаружения более оптимального сервера 110 под заданную задачу клиента 120 может использоваться любой известный из уровня техники алгоритм балансировки серверов, например, в качестве такого алгоритма может использоваться технология децентрализованного распределения агентов между сканирующими серверами, описанная в публикации US10496819. As a balancing algorithm for finding a more
Ещё в одном из вариантов реализации системы в качестве алгоритма балансировки выступает обученная модель балансировки 141.In another version of the system implementation, the trained
Ещё в одном из вариантов реализации указанная система дополнительно содержит средство переобучения 150, предназначенное для переобучения модели балансировки 141 по результатам выполнения задач клиентов 120 на серверах 110.In yet another embodiment, said system further comprises a
В одном из вариантов реализации системы переобучение модели балансировки 141 выполняется таким образом, чтобы при схожих задачах клиентов 120, которые выполняли на серверах 110 по меньшей мере:In one of the implementations of the system, the retraining of the
• сетевой трафик между клиентами 120 и серверами 110 был ниже, чем при использовании непереобученной модели балансировки 141;• network traffic between
• производительность клиент-серверной архитектуры была выше, чем при использовании непереобученной модели балансировки 141 (при этом производительность может измеряться любым известным из уровня техники способом, в том числе путём оценки затрачиваемых вычислительных ресурсов).• the performance of the client-server architecture was higher than when using the non-overtrained balancing model 141 (in this case, the performance can be measured by any method known from the prior art, including by evaluating the computational resources expended).
Ещё в одном из вариантов реализации системы балансировки подключений между клиентами 120 и серверами 110 выполняется периодически через заданный диапазон времени (например, каждые 15 секунд).In yet another implementation of the system, connection balancing between
Таким образом, при использовании описанной выше технологии удаётся Thus, when using the technology described above, it is possible to
• уменьшить объём сетевого трафика между клиентами 120 и серверами 110 за счёт уменьшения количества серверов 110, из которых формируются списки доступных серверов для каждого клиента 120 и, соответственно, за счёт снижения объёма служебного сетевого трафика, генерируемого при сборе данных об указанных серверах 110.• reduce the amount of network traffic between
В том числе описанная выше технология позволяет:The technology described above allows:
• избежать нарушения в работе межсетевых экранов, функционирующих на клиентах 120, за счёт уменьшения установленных соединений клиентов 120 с серверами 110.• Avoid disrupting firewalls running on
• повысить отзывчивость описываемой клиент-серверной архитектуры за счёт осуществления стабильного соединения клиентов 120 с серверами 110;• increase the responsiveness of the described client-server architecture by providing a stable connection between
• повысить производительность клиент-серверной архитектуры за счёт выбора наименее нагруженных серверов 120 для каждого из клиентов 120.• increase the performance of the client-server architecture by selecting the least loaded
В данном случае под отзывчивостью клиент-серверной архитектуры понимается время реакции между событиями на сервере и ответом на клиенте и наоборот. Чем меньше время реакции, тем выше отзывчивость клиент-серверной архитектуры. In this case, the responsiveness of the client-server architecture refers to the reaction time between events on the server and the response on the client, and vice versa. The shorter the response time, the higher the responsiveness of the client-server architecture.
Описанная выше технология позволяет в том числе уменьшить количество соединений между клиентами 120 и серверами 110 за счёт более стабильной работы клиентов 120 с уже выбранными серверами 110, поскольку позволяет снизить их перегрузку и как следствие падение производительности или даже отказ в работе.The technology described above makes it possible, among other things, to reduce the number of connections between
Фиг. 2 представляет структурную схему способа балансировки подключений между клиентами и серверами. Fig. 2 is a block diagram of a method for balancing connections between clients and servers.
Структурная схема способа балансировки подключений между клиентами и серверами содержит этап 210, на котором собирают данные о серверах, этап 220, на котором собирают данные о клиентах, этап 230, на котором формируют список доступных серверов, этап 240, на котором осуществляют балансировку подключений, этап 241, на котором выбирают сервера, этап 242, на котором осуществляют соединение между клиентами и серверами, на этапе 250 переобучают модель балансировки. The block diagram of the method for balancing connections between clients and servers includes
Более подробно описание приведённых ниже этапов раскрыто в описании Фиг. 1.A more detailed description of the steps below is disclosed in the description of FIG. 1 .
На этапе 210 собирают с помощью сервера сканирования 111, работающего на соответствующем сервере из сформированного набора серверов 110, данные о серверах 110 из сформированного набора серверов.At
На этапе 220 собирают с помощью агента 121, работающего на соответствующем клиенте из сформированного набора клиентов, данные о клиентах 120 из сформированного набора клиентов.At
На этапе 230 формируют с помощью средства обнаружения сервисов 130 список доступных серверов для каждого клиента 120 на основании собранных на этапах 210, 220 данных, при этом сформированный список доступных серверов является стабильным к изменению собранных данных в заданном диапазоне.At
На этапе 240 осуществляют для каждого клиента 120 балансировку подключения между указанным клиентом 120 и сервером 110, для чего:At
• на этапе 241 выбирают с помощью средства балансировки 140 сервер 110 из сформированного для указанного клиента 120 списка доступных серверов на основании наступления заданных условий;• at
• на этапе 242 осуществляют с помощью агента 121 соединение между указанным клиентом 120 и выбранным сервером 110.• at
На этапе 250 с помощью средства переобучения 150 переобучают модель балансировки 141 по результатам выполнения задач клиентами 120 на серверах 110.At
Фиг. 3 представляет пример компьютерной системы общего назначения, персональный компьютер или сервер 20, содержащий центральный процессор 21, системную память 22 и системную шину 23, которая содержит разные системные компоненты, в том числе память, связанную с центральным процессором 21. Системная шина 23 реализована, как любая известная из уровня техники шинная структура, содержащая в свою очередь память шины или контроллер памяти шины, периферийную шину и локальную шину, которая способна взаимодействовать с любой другой шинной архитектурой. Системная память содержит постоянное запоминающее устройство (ПЗУ) 24, память с произвольным доступом (ОЗУ) 25. Основная система ввода/вывода (BIOS) 26, содержит основные процедуры, которые обеспечивают передачу информации между элементами персонального компьютера 20, например, в момент загрузки операционной системы с использованием ПЗУ 24. Fig. 3 shows an example of a general purpose computer system, a personal computer or a server 20 ', comprising a central processing unit 21 ', system memory 22 ', and a system bus 23 ', which contains various system components including memory associated with the central processing unit 21 '. The system bus 23 is implemented as any bus structure known in the art, in turn comprising a bus memory or bus memory controller, a peripheral bus, and a local bus capable of interfacing with any other bus architecture. The system memory contains read only memory (ROM) 24 , random access memory (RAM) 25 . The main input/output system (BIOS) 26 contains the basic procedures that ensure the transfer of information between the elements of a
Персональный компьютер 20 в свою очередь содержит жёсткий диск 27 для чтения и записи данных, привод магнитных дисков 28 для чтения и записи на сменные магнитные диски 29 и оптический привод 30 для чтения и записи на сменные оптические диски 31, такие как CD-ROM, DVD-ROM и иные оптические носители информации. Жёсткий диск 27, привод магнитных дисков 28, оптический привод 30 соединены с системной шиной 23 через интерфейс жёсткого диска 32, интерфейс магнитных дисков 33 и интерфейс оптического привода 34 соответственно. Приводы и соответствующие компьютерные носители информации представляют собой энергонезависимые средства хранения компьютерных инструкций, структур данных, программных модулей и прочих данных персонального компьютера 20. The
Настоящее описание раскрывает реализацию системы, которая использует жёсткий диск 27, сменный магнитный диск 29 и сменный оптический диск 31, но следует понимать, что возможно применение иных типов компьютерных носителей информации 56, которые способны хранить данные в доступной для чтения компьютером форме (твердотельные накопители, флеш карты памяти, цифровые диски, память с произвольным доступом (ОЗУ) и т.п.), которые подключены к системной шине 23 через контроллер 55.The present description discloses an implementation of a system that uses a
Компьютер 20 имеет файловую систему 36, где хранится записанная операционная система 35, а также дополнительные программные приложения 37, другие программные модули 38 и данные программ 39. Пользователь имеет возможность вводить команды и информацию в персональный компьютер 20 посредством устройств ввода (клавиатуры 40, манипулятора «мышь» 42). Могут использоваться другие устройства ввода (не отображены): микрофон, джойстик, игровая консоль, сканер и т.п. Подобные устройства ввода по своему обычаю подключают к компьютерной системе 20 через последовательный порт 46, который в свою очередь подсоединён к системной шине, но могут быть подключены иным способом, например, при помощи параллельного порта, игрового порта или универсальной последовательной шины (USB). Монитор 47 или иной тип устройства отображения также подсоединён к системной шине 23 через интерфейс, такой как видеоадаптер 48. В дополнение к монитору 47, персональный компьютер может быть оснащён другими периферийными устройствами вывода (не отображены), например, колонками, принтером и т.п.The
Персональный компьютер 20 способен работать в сетевом окружении, при этом используется сетевое соединение с другим или несколькими удалёнными компьютерами 49. Удалённый компьютер (или компьютеры) 49 являются такими же персональными компьютерами или серверами, которые имеют большинство или все упомянутые элементы, отмеченные ранее при описании существа персонального компьютера 20, представленного на Фиг. 3. В вычислительной сети могут присутствовать также и другие устройства, например, маршрутизаторы, сетевые станции, пиринговые устройства или иные сетевые узлы. The
Сетевые соединения могут образовывать локальную вычислительную сеть (LAN) 50 и глобальную вычислительную сеть (WAN). Такие сети применяются в корпоративных компьютерных сетях, внутренних сетях компаний и, как правило, имеют доступ к сети Интернет. В LAN- или WAN-сетях персональный компьютер 20 подключён к локальной сети 50 через сетевой адаптер или сетевой интерфейс 51. При использовании сетей персональный компьютер 20 может использовать модем 54 или иные средства обеспечения связи с глобальной вычислительной сетью, такой как Интернет. Модем 54, который является внутренним или внешним устройством, подключён к системной шине 23 посредством последовательного порта 46. Следует уточнить, что сетевые соединения являются лишь примерными и не обязаны отображать точную конфигурацию сети, т.е. в действительности существуют иные способы установления соединения техническими средствами связи одного компьютера с другим.The network connections may form a local area network (LAN) 50 and a wide area network (WAN). Such networks are used in corporate computer networks, internal networks of companies and, as a rule, have access to the Internet. In LAN or WAN networks, the
В заключение следует отметить, что приведённые в описании сведения являются примерами, которые не ограничивают объём настоящего изобретения, определённого формулой.In conclusion, it should be noted that the information given in the description are examples that do not limit the scope of the present invention defined by the formula.
Claims (65)
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| RU2021113655A RU2771444C1 (en) | 2021-05-13 | 2021-05-13 | System and method for balancing connections between clients and servers |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| RU2021113655A RU2771444C1 (en) | 2021-05-13 | 2021-05-13 | System and method for balancing connections between clients and servers |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| RU2771444C1 true RU2771444C1 (en) | 2022-05-04 |
Family
ID=81459029
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| RU2021113655A RU2771444C1 (en) | 2021-05-13 | 2021-05-13 | System and method for balancing connections between clients and servers |
Country Status (1)
| Country | Link |
|---|---|
| RU (1) | RU2771444C1 (en) |
Cited By (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| RU2818490C1 (en) * | 2023-12-28 | 2024-05-02 | Общество с ограниченной ответственностью "Облачные технологии" (ООО "Облачные технологии") | Method and system for distributing system resources for processing user requests |
Citations (5)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US20050022203A1 (en) * | 1998-07-15 | 2005-01-27 | Radware Ltd. | Load balancing |
| US7099915B1 (en) * | 2000-06-30 | 2006-08-29 | Cisco Technology, Inc. | Server load balancing method and system |
| US20080120433A1 (en) * | 1999-12-02 | 2008-05-22 | Cisco Technology, Inc. | Method and apparatus for redirecting network traffic |
| US20120131093A1 (en) * | 2010-11-22 | 2012-05-24 | International Business Machines Corporation | Connection distribution for load balancing in a distributed database |
| RU2703188C1 (en) * | 2017-10-05 | 2019-10-15 | НФВаре, Инц | Load distribution method for a multi-core system |
-
2021
- 2021-05-13 RU RU2021113655A patent/RU2771444C1/en active
Patent Citations (5)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US20050022203A1 (en) * | 1998-07-15 | 2005-01-27 | Radware Ltd. | Load balancing |
| US20080120433A1 (en) * | 1999-12-02 | 2008-05-22 | Cisco Technology, Inc. | Method and apparatus for redirecting network traffic |
| US7099915B1 (en) * | 2000-06-30 | 2006-08-29 | Cisco Technology, Inc. | Server load balancing method and system |
| US20120131093A1 (en) * | 2010-11-22 | 2012-05-24 | International Business Machines Corporation | Connection distribution for load balancing in a distributed database |
| RU2703188C1 (en) * | 2017-10-05 | 2019-10-15 | НФВаре, Инц | Load distribution method for a multi-core system |
Cited By (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| RU2818490C1 (en) * | 2023-12-28 | 2024-05-02 | Общество с ограниченной ответственностью "Облачные технологии" (ООО "Облачные технологии") | Method and system for distributing system resources for processing user requests |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US10257224B2 (en) | Method and apparatus for providing forensic visibility into systems and networks | |
| RU2494453C2 (en) | Method for distributed performance of computer security tasks | |
| US11930039B1 (en) | Metric space modeling of network communication | |
| US8479048B2 (en) | Root cause analysis method, apparatus, and program for IT apparatuses from which event information is not obtained | |
| US8966495B2 (en) | Dynamic virtual machine consolidation | |
| RU2568282C2 (en) | System and method for ensuring fault tolerance of antivirus protection realised in virtual environment | |
| CN102724208B (en) | For controlling the system and method for the access to Internet resources | |
| EP3667532A1 (en) | Methods for detecting and mitigating malicious network activity based on dynamic application context and devices thereof | |
| RU2710860C1 (en) | Method for limiting the scope of automatic selection of a virtual protection machine | |
| US12355726B2 (en) | Systems and methods for providing enhanced security in edge computing environments | |
| CN117076133B (en) | Cloud game platform heterogeneous resource allocation method, computer device and storage medium | |
| WO2018137710A1 (en) | Method and system for search control | |
| US20230362131A1 (en) | Systems and methods for monitoring and securing networks using a shared buffer | |
| Jermyn et al. | Improving readiness for enterprise migration to the cloud | |
| RU2771444C1 (en) | System and method for balancing connections between clients and servers | |
| RU2628919C1 (en) | System and method of detecting harmful files on distributed system of virtual machines | |
| CN111510431A (en) | A pan-terminal access management and control platform, client and management and control method | |
| US12474950B2 (en) | Automatic reconfiguration of network interface driver on network sensor host | |
| US11283823B1 (en) | Systems and methods for dynamic zone protection of networks | |
| Belguith et al. | SMART: Shared Memory based SDN Architecture to Resist DDoS ATtacks. | |
| RU2724801C1 (en) | Method of balancing load on virtual protection machines, provided that selection area of virtual protection machines | |
| CN118713931A (en) | A method, system and device for identifying access rights based on network security | |
| CN119324925A (en) | Traffic distribution method, device, equipment and medium based on application node grouping | |
| CN120768559A (en) | A cryptographic resource scheduling method and system based on weighted hashing | |
| CN119030878A (en) | Cross-domain virtual network mapping method, device, computer equipment and storage medium |