A system and method for dynamic resource management and allocation for cluster networks.

AI and neural network models enhance resource allocation in server clusters by identifying the most energy-efficient nodes, addressing inefficiencies in current allocation methods and reducing power consumption.

JP2026510199APending Publication Date: 2026-04-02RAKUTEN MOBILE INC
View PDF 3 Cites 0 Cited by

Patent Information

Authority / Receiving Office
JP · JP
Patent Type
Applications
Current Assignee / Owner
Filing Date
2022-12-20
Publication Date
2026-04-02

AI Technical Summary

Technical Problem

Current methods for allocating resources in server clusters are inefficient, leading to suboptimal energy consumption and inefficiency due to the use of clusters or nodes that consume excessive resources.

Method used

Utilizing artificial intelligence, machine learning, and neural network models to predict and identify the most suitable clusters and servers for running applications, tasks, or jobs, optimizing energy consumption and efficiency by minimizing power usage.

Benefits of technology

Improves energy savings and efficiency in cluster networks by accurately predicting and allocating resources to the most suitable nodes, ensuring optimal energy consumption and performance.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 2026510199000001_ABST
    Figure 2026510199000001_ABST
Patent Text Reader

Abstract

The embodiments herein provide a method and system for dynamically managing and allocating resources within a server cluster network. The method may include determining one or more operational requirements for a first task, and identifying multiple nodes within the server cluster network in relation to satisfying one or more operational requirements for the first task. The method may further include obtaining traffic patterns for each of the multiple nodes in relation to one or more second tasks, and identifying a first node from the multiple nodes to perform the first task. In addition, the method may include mapping the traffic patterns to the power requirements for each of the multiple nodes within the server cluster network. Furthermore, the method may include generating a neural network model based on the traffic patterns mapped to the power requirements.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present disclosure described herein relates to methods and systems for dynamic resource management and allocation for a cluster network.

Background Art

[0002] A computer or server cluster is generally a set of individual computing devices or servers (nodes) that can be considered to work together as a single system. Clusters are typically deployed to improve performance, system scalability, and availability across their individual computers or single servers or nodes. There is an increasing demand for clustered servers and nodes that can continue processing without stopping in the event of an error and ensure that the overall network does not shut down by improving processing performance and redundancy. In such a cluster system, it is important to efficiently manage the distribution of load on the cluster and how applications / tasks are distributed among the respective nodes of the cluster.

Summary of the Invention

Problems to be Solved by the Invention

[0003] With the increasing use of server clusters, it is necessary for network operators to improve and optimize energy efficiency and minimize power consumption. Current solutions for improving efficiency are to use first-fit or best-fit algorithms to place incoming applications on target clusters or nodes. For example, one conventional method places incoming applications, tasks, jobs, operations, or programs on the first available cluster and node that matches the resource requirements of the incoming application. However, the drawback of the first available method is that energy efficiency is not optimized when a cluster or node that consumes a large amount of resources is used.

[0004] Therefore, in order to better allocate network resources and improve energy conservation and efficiency within cluster network systems, there is a need for more efficient methods and systems to predict and identify the most suitable clusters and servers / nodes for running specific applications, tasks, or jobs. Thus, it is desirable to address the aforementioned shortcomings or other disadvantages, or at least provide useful alternatives.

[0005] The primary objective of this embodiment is to provide a system and method for dynamic resource management and allocation for a cluster network. [Means for solving the problem]

[0006] According to the embodiments, methods and systems are disclosed for predicting and identifying the most suitable cluster and server / node for running a particular application, task, job, operation, or program in order to better allocate network resources and improve energy savings and efficiency within a cluster network system. Here, the new application to be run typically has resource requirements for the host or target cluster, server / node, or computing system, such as the number of virtual cores required, the amount of RAM memory required, the amount of storage disk space, and other requirements such as access to a field-programmable gate array (FPGA). In some embodiments, the methods and systems disclosed herein can utilize pre-built artificial intelligence ("AI"), machine learning ("ML"), or neural network ("NN") models to recommend the optimal server / node for the new application to run on the cluster. Here, the ML / NN model may be built with the aim of minimizing the energy consumption of the entire cluster or a specific server / node.

[0007] In other embodiments, a method for allocating resources within a server cluster network is disclosed. The method may include determining one or more operational requirements for a first task; identifying multiple nodes in the server cluster network with respect to satisfying one or more operational requirements for the first task; obtaining traffic patterns for each of the multiple nodes with respect to one or more second tasks; and identifying a first node from the multiple nodes to perform the first task.

[0008] The method may further include the first task comprising at least one of an application, program, job, or operation.

[0009] In addition, the method may include mapping traffic patterns to the power requirements of each of the multiple nodes in the server cluster network.

[0010] Furthermore, the method may include generating a neural network model based on traffic patterns mapped to the power requirements of each of the multiple nodes in the server cluster network.

[0011] Furthermore, the neural network model may also be based on embedding.

[0012] In addition, the step of identifying the first node from multiple nodes in order to perform the first task may be based on the generated neural network model.

[0013] Furthermore, the step of identifying the first node from multiple nodes in order to perform the first task may be further based on predicting the future power consumption of each of the multiple nodes.

[0014] Furthermore, the method may include assigning the first task to the identified first node.

[0015] The method may also include determining one or more operational requirements for the third task, and identifying a second node from among several nodes in order to perform the third task.

[0016] In addition, the method may include a step of identifying a first node from multiple nodes in order to perform the first task, which may be based on a neural network model.

[0017] In other embodiments, a device for allocating resources within a server cluster network is disclosed. The device includes memory storage for storing computer executable instructions, and a processor communicably coupled to the memory storage and configured to execute computer executable instructions in order to cause the device to perform: determining one or more operational requirements for a first task; identifying a plurality of nodes in the server cluster network with respect to satisfying one or more operational requirements for a first task; obtaining traffic patterns for each of the plurality of nodes with respect to one or more second tasks; and identifying a first node from the plurality of nodes to perform a first task.

[0018] In addition, the first task may include at least one of the following: an application, a program, a job, or an operation.

[0019] Furthermore, when the computer executable instructions are executed by the processor, the device may be instructed to further map traffic patterns to the power requirements of each of the multiple nodes in the server cluster network.

[0020] Furthermore, when the computer executable instructions are executed by the processor, the device may be instructed to generate a neural network model based on traffic patterns mapped to the power requirements of each of the multiple nodes in the server cluster network.

[0021] Furthermore, the neural network model may be based on an embedding.

[0022] In addition, for performing the first task, the step of identifying the first node from the plurality of nodes may be based on the generated neural network model.

[0023] Also, for performing the first task, the step of identifying the first node from the plurality of nodes may further be based on predicting future power consumption by each of the plurality of nodes.

[0024] Furthermore, when the computer-executable instructions are executed by a processor, the apparatus may further be caused to assign the first task to the identified first node.

[0025] In addition, when the computer-executable instructions are executed by a processor, the apparatus may further be caused to determine one or more operation requirements for a third task and to identify a second node from the plurality of nodes for performing the third task.

[0026] In other embodiments, a non-transitory computer-readable medium having computer-executable instructions for allocating resources within a server cluster network by an apparatus is provided. When the computer-executable instructions are executed by at least one processor of the apparatus, the apparatus is caused to determine one or more operation requirements for a first task, to identify a plurality of nodes within the server cluster network with respect to satisfying the one or more operation requirements of the first task, to obtain a traffic pattern for each of the one or more nodes with respect to one or more second tasks, and to identify a first node from the plurality of nodes for performing the first task.

[0027] These and other aspects of the embodiments herein will be better understood when considered in conjunction with the following description and the accompanying drawings. It should be understood, however, that the following description is given by way of example only and not for the purpose of limitation, even though it shows preferred embodiments and many specific details thereof. Within the scope of the embodiments herein, many changes and modifications may be made without departing from the spirit thereof, and the embodiments herein include all such changes.

Brief Description of the Drawings

[0028] The method is illustrated in the accompanying drawings, in which like reference numerals indicate corresponding parts in the various figures. The embodiments herein will be better understood from the following description with reference to the drawings.

[0029] FIG. 1 illustrates a schematic system architecture of a dynamic resource management and allocation method and system described herein according to one or more exemplary embodiments.

[0030] FIG. 2 illustrates another diagram of components and modules for a dynamic resource management and allocation method and system described herein according to one or more exemplary embodiments.

[0031] FIG. 3 illustrates another diagram for a method of operation for a dynamic resource management and allocation method and system described herein according to one or more exemplary embodiments.

[0032] FIG. 4 illustrates a graph diagram for at least one metric for a dynamic resource management and allocation method and system described herein according to one or more exemplary embodiments.

Modes for Carrying Out the Invention

[0033] The embodiments and their various features and advantageous details described herein will be more fully explained with reference to the non-limiting embodiments illustrated in the accompanying drawings and detailed below. Descriptions of well-known components and processing techniques are omitted to avoid unnecessarily obscuring the embodiments herein. Furthermore, the various embodiments described herein are not necessarily mutually exclusive, and some embodiments may be combined with one or more other embodiments to constitute a new embodiment. The term "or" used herein means non-exclusive "or" unless otherwise specified. The examples used herein are for the sole purpose of facilitating the understanding of how the embodiments herein may be carried out and further enabling those skilled in the art to implement the embodiments herein. Therefore, the examples should not be construed as limiting the scope of the embodiments herein.

[0034] In accordance with the conventions of the art, embodiments may be described and illustrated with respect to blocks that perform the functions described. These blocks, which may be expressed herein as managers, units, modules, hardware components, etc., may be physically implemented by analog and / or digital circuits such as logic gates, integrated circuits, microprocessors, microcontrollers, memory circuits, passive electronic components, active electronic components, optical components, hardwired circuits, etc., and may optionally be driven by firmware and software. The circuits may be embodied, for example, in one or more semiconductor chips, or on a board support such as a printed circuit board. The circuits constituting a block may be implemented by dedicated hardware, by a processor (e.g., one or more programmed microprocessors and associated circuits), or by a combination of dedicated hardware for performing some functions of the block and a processor for performing other functions of the block. Each block of an embodiment may be physically divided into two or more interacting discrete blocks without departing from the scope of the disclosure. Similarly, blocks of an embodiment may be physically combined into more complex blocks without departing from the scope of the disclosure.

[0035] In one implementation of the disclosure described herein, a display page may contain information residing in the memory of a computing device, which may be transmitted from the computing device to a database center over a network (or vice versa). The information may be stored in the memory of each computing device, in data storage located at the edge of the network, or on servers in the database center. A computing device or mobile device may accept non-temporary computer-readable media, which may contain instructions, logic, data, or code, which may be stored in the persistent or temporary memory of the mobile device, or which may, in some way, influence or initiate actions by the mobile device. Similarly, one or more servers may communicate with one or more mobile devices over a network and transmit computer files residing in memory. The network may include, for example, the internet, a wireless communication network, or any other network for connecting one or more mobile devices to one or more servers.

[0036] Any discussion of computing or mobile devices may also apply to any type of network device (including, but not limited to, mobile devices and telephones such as mobile phones (e.g., any “smartphone”), personal computers, server computers, or laptop computers; personal digital assistants (PDAs); roaming devices such as network-connected roaming devices; wireless devices such as wireless e-mail devices or other devices that can communicate wirelessly with computer networks; or any other type of network device that can communicate over a network and process electronic transactions). Any discussion of any mobile device as described above may also apply to other devices such as, for example, devices that include short-range ultra-high frequency (UHF) devices, near-field communication (NFC), infrared (IR), and Wi-Fi capabilities.

[0037] The phrases and terms “software,” “application,” “upload,” and “firmware” may include any non-temporary computer-readable medium that, when executed by a computer, contains a program that causes a computer to perform a method, function, or control operation.

[0038] Phrases and terms similar to “network” may also include one or more data links that enable the transfer of electronic data between computer systems and / or modules. When information is transferred to or provided to a computer over a network or other communication connection (hardwired, wireless, or a combination of hardwired and wireless), the computer uses the connection as a computer-readable medium. Thus, as an unspecified example, a computer-readable medium may also include a network or data link that is used to transmit or store desired program code means in the form of computer-executable instructions or data structures and that can be accessed by a general-purpose or dedicated computer.

[0039] Phrases and terms similar to “portal” or “terminal” may include intranet pages, internet pages, locally residing software or applications, mobile device graphical user interfaces, or digital presentations to users. A portal may also be any graphical user interface for accessing various modules, components, features, options, and / or attributes of the disclosure described herein. For example, a portal may be a web page accessed by a web browser, a mobile device application, or any application or software residing on a computing device.

[0040] Figure 1 illustrates a schematic network architecture diagram according to one or more embodiments. Referring to Figure 1, according to one or more embodiments, user terminals 110, cluster 120, and administrator terminal / dashboard user 130 are capable of bidirectional communication with a central server or application server 100 over a secure network. In addition, according to one or more embodiments, components 110, 120, and 130 may also be capable of direct bidirectional communication with each other via the network system disclosed herein. Here, user terminals 110 may be any type of user device or user equipment (UE), such as computing user terminals A, B, and C operated by a user, and customers of a network or communication service provider. Each of the user terminals 110 can communicate with the server 100 through their respective terminals or portals. Cluster 120 may include any number of network clusters, server clusters, and individual server nodes A, B, and C of any type to run any type of application, software, job, queue, task, or operation within the network. Here, cluster 120 and any of nodes A, B, and C can be target clusters or target nodes for running any application, task, job, or program. The administrator terminal or dashboard 130 may include any type of user with access privileges to access the dashboard or management portal of the disclosure described herein. Here, the dashboard portal can provide various user tools, maps, resource allocation, energy orchestration, and customer support options. Within the scope of this disclosure described herein, it is also assumed that any user of user terminal 110 may access the administrator terminal or dashboard 130 of the disclosure described herein.

[0041] Still referring to Figure 1, the central server 100 of the disclosure described herein in one or more embodiments may be further capable of bidirectional communication with a database / third-party server 140, which may also include users. Herein, the server 140 may include vendors and databases from which various data captured, collected, or gathered from the cluster 120 (including its nodes) and / or user terminals 110 may be uploaded or stored and retrieved for network analysis and neural network (NN), machine learning (ML), and artificial intelligence (AI) processing and modeling by the server 100. However, within the scope of the disclosure described herein, it is also assumed that the dynamic resource management and allocation methods and systems of the disclosure described herein may include any type of schematic network architecture.

[0042] Still referring to Figure 1, one or more servers or terminals of elements 100-140 may include printed circuit boards equipped with personal computers (PCs), computing devices, minicomputers, mainframe computers, microcomputers, telephone computing devices, wired / wireless computing devices (e.g., smartphones, personal digital assistants (PDAs)), laptops, tablets, smart devices, wearable devices, or any other similar functional devices.

[0043] In some embodiments, as shown in Figure 1, one or more servers, terminals, and users 100-140 may include a set of components such as a processor, memory, storage components, input components, output components, communication interfaces, and JSON UI rendering components. The set of components of the device may be coupled together in a communicative manner via a bus.

[0044] The bus may comprise one or more components that enable communication between one or more sets of server or terminal components of elements 100-140. For example, the bus may be a communication bus, a crossover bar, a network, etc. The bus may be implemented using one or more (two or more) connections between one or more sets of server or terminal components of elements 100-140. The disclosure is not limited in this respect.

[0045] One or more servers or terminals of elements 100-140 may comprise one or more processors. One or more processors may be implemented as hardware, firmware, and / or a combination of hardware and software. For example, one or more processors may comprise a central processing unit (CPU), graphics processing unit (GPU), acceleration unit (APU), microprocessor, microcontroller, digital signal processor (DSP), FPGA (field-programmable gate array), ASIC (application-specific integrated circuit), general-purpose single-chip or multi-chip processor, or other programmable logic devices, discrete gate or transistor logic, discrete hardware components, or any combination of these designed to perform the functions described herein. A general-purpose processor may be a microprocessor, or any conventional processor, controller, microcontroller, or state machine. Furthermore, one or more processors may be implemented as a combination of computing devices, such as a combination of a DSP and a microprocessor, multiple microprocessors, one or more microprocessors with a DSP core, or any other such configuration. In some embodiments, specific processes and methods may be performed by circuits specialized for a given function.

[0046] One or more processors may control the overall operation of one or more servers or terminals of elements 100-140, and / or sets of components of one or more servers or terminals of elements 100-140 (e.g., memory, storage components, input components, output components, communication interfaces, rendering components).

[0047] One or more servers or terminals of elements 100-140 may further include memory. In some embodiments, the memory may include random access memory (RAM), read-only memory (ROM), electrically erasable programmable ROM (EEPROM), flash memory, magnetic memory, optical memory, and / or other types of dynamic or static storage devices. The memory may store information and / or instructions for use by the processor (e.g., execution).

[0048] The storage components of one or more servers or terminals of elements 100-140 may store information and / or computer-readable instructions and / or code related to the operation and use of one or more servers or terminals of elements 100-140. For example, the storage components may include, along with their corresponding drives, hard disks (e.g., magnetic disks, optical disks, magneto-optical disks, and / or solid-state disks), compact disks (CDs), digital multipurpose disks (DVDs), universal serial bus (USB) flash drives, PCMCIA (Personal Computer Memory Card International Association) cards, floppy disks, cartridges, magnetic tapes, and / or other types of non-temporary computer-readable media.

[0049] One or more servers or terminals of elements 100-140 may further comprise input components. The input components may include one or more components that enable one or more servers and terminals 100-140 to receive information via user input (e.g., touchscreen, keyboard, keypad, mouse, stylus, button, switch, microphone, camera, etc.). Alternatively or in addition, the input components may include sensors for measuring information (e.g., global positioning system (GPS) components, accelerometer, gyroscope, actuator, etc.).

[0050] Any one or more server or terminal output components of element 100-140 may include one or more components that provide output information from device 100 (e.g., a display, liquid crystal display (LCD), light-emitting diode (LED), organic light-emitting diode (OLED), haptic feedback device, speaker, etc.).

[0051] One or more servers or terminals of elements 100-140 may further comprise a communication interface. The communication interface may include a receiver component, a transmitter component, and / or a transceiver component. The communication interface may enable one or more servers or terminals of elements 100-140 to establish connections with other devices (e.g., servers, other devices) and / or transmit communications with other devices. Communication may be enabled via wired connections, wireless connections, or a combination of wired and wireless connections. The communication interface may enable one or more servers or terminals of elements 100-140 to receive information from other devices and / or provide information to other devices. In some embodiments, the communication interface may provide communication with other devices via a network (local area network (LAN), wide area network (WAN), metropolitan area network (MAN), private network, ad hoc network, intranet, internet, fiber optic network, cellular network (e.g., 5G network, LTE (long-term evolution) network, 3G network, CDMA (code division multiple access) network, etc.), public land mobile network (PLMN), telephone network (e.g., PSTN (Public Switched Telephone Network), etc., and / or a combination of these or other types of networks, etc.). Alternatively or in addition, the communication interface may provide communication with other devices via a device-to-device (D2D) communication link such as FlashLinQ, WiMedia, Bluetooth, ZigBee, Wi-Fi, LTE, 5G, etc. In other embodiments, the communication interface may include an Ethernet interface, optical interface, coaxial interface, infrared interface, radio frequency (RF) interface, etc.In embodiments, any of the operations or processes shown in the figures may be implemented by or using any of the elements disclosed herein. Other embodiments are not limited thereto and may be implemented in a variety of different architectures (e.g., bare-metal architectures, any cloud-based architecture or deployment architecture, such as Kubernetes, Docker, OpenStack, etc.).

[0052] Figure 2 illustrates diagrams of various components and modules for one exemplary embodiment of the disclosure described herein. The dynamic resource management and allocation method and system of the disclosure described herein may include a network / computation resource metrics module 200, a machine learning ("ML") / neural network ("NN") model 210, and a network cluster module 220 having multiple servers / nodes such as servers / nodes 222, 224, and 226. Here, the network / computation resource metrics module 200 may include various metrics that can be considered and used as input within the ML / NN model module 210 of the disclosure described herein. Such metrics are determined or identified from source or incoming applications / tasks that need to run on target servers / nodes in the cluster. Alternatively, the ML / NN model can identify and determine the best metrics that should be used by the model (or use specific thresholds / conditions to filter for the most appropriate metrics). Here, each individual metric may relate to power consumption, energy requirements, energy efficiency, processing speed, usage, availability, recovery / storage, storage space, programmability, protocols, hardware / software compatibility, bandwidth, thresholds / conditions, and / or various operational requirements.For example, such metrics may include, but are not limited to, CPU, CEPH (e.g., Software-Defined Storage Platform), Inodes (e.g., Data Structures), Disk I / O (e.g., Disk Input / Output Operations), Docker (e.g., Platform as a Service), Memstats (e.g., Memory Status / Statistics), Kernel (e.g., OS Kernel), System Load, Swap (e.g., Swap Memory), Processing, UDP (e.g., User Datagram Protocol), TCP / IP, ICMP (e.g., Internet Control Message Protocol), malloc (e.g., Memory Allocation), Airflow, Heat, FPGA (e.g., Field-Programmable Gate Array), Fan Speed, Power, Voltage, LEDs, File DES (e.g., File Descriptors), OpenStack, Message Queues, HAproxy (e.g., Reverse Proxy), HTTP, Large Pages / Web Pages, Context Switching, Interrupts, Balloons, Network, Watchdog, Threads (e.g., Processing Threads), Prometheus (e.g., Monitoring Systems), and Users.

[0053] Tables 1-11 below show additional and exemplary metrics that may be used or determined by the ML / NN model module 210 of the disclosure described herein.

[0054] [Table 1]

[0055] [Table 2]

[0056] [Table 3]

[0057] [Table 4]

[0058] [Table 5]

[0059] [Table 6]

[0060] [Table 7]

[0061] [Table 8]

[0062] [Table 9]

[0063] [Table 10]

[0064] [Table 11]

[0065] For example, referring to Table 6 and Figure 4, metrics such as "ipmi_sensor" related to CPU power over a defined period are visually represented in the graph in Figure 4.

[0066] Returning to Figure 2, the ML / NN model module can receive one or more metrics relating to module 200 as input. From these metrics, the ML / NN model of the disclosure described herein can use the metrics to generate embeddings (or any type of dimensionality reduction) to proactively predict and identify the target network cluster and / or any specific target server / node within the network cluster that is best suited to perform a particular application, task, job, program, or operation. In addition, the ML / NN model may use such metrics for training purposes. Here, the embeddings may be based on supervised learning, or on a model that can be trained from labeled or annotated datasets. Alternatively, the model may be trained via unsupervised learning or may not require labels. For example, in other embodiments, an autoencoder may be used to train the model. In addition, the aforementioned embeddings may also be used as input to the method of disclosure described herein and other ML / NN models in the system to predict the most appropriate target server / node within the server cluster system. In other embodiments, the ML / NN model may assign specific higher or lower weights to specific servers / nodes to achieve improved probabilities regarding the network traffic and / or power requirements of those servers / nodes. Here, the output of the ML / NN model may also be the identification of recommended or suggested target server cluster systems and / or target servers / nodes within any one or more server cluster systems such as server / nodes 222, 224, 226 that are best suited to performing a particular application, task, job, program, or operation. For example, the most suitable server / node may not necessarily be the first server / node to become available, but rather a server / node that has historically been able to handle the processing needs of a particular application in the most energy-efficient manner under a given time, period, time range, and / or specific conditions or events.Furthermore, for example, an ML / NN model can predict whether the selected or identified server / node can consistently deliver the processing and / or power requirements (and bandwidth) for the application, without CPU throttling.

[0067] Figure 3 illustrates an exemplary embodiment of one operational method for the dynamic resource management and allocation method and system disclosed herein. Here, the process begins in step 300, in which the method and system can determine various metrics or resource requirements for each application, job, task, operation, or program that is required to be executed by a server / node, or for each incoming or source application / task waiting to be executed on the target server / node (e.g., in a queue). For example, such metrics may be virtual CPU, memory, and storage disk requirements for a particular application, or metrics disclosed with respect to metric module 200 (Figure 2). Subsequently, in step 302, the determined application metrics may be extracted from the servers / nodes on each cluster running on the network. The extracted metrics and power usage are synchronized with time so that the traffic patterns at a specified time can be identified. Subsequently, in step 304, the method and system can acquire and record historical traffic patterns for various applications, tasks, jobs, programs, or operations on each server / node within each cluster. For example, the system can determine which server / node will handle a particular application at a specific time or triggered by certain events, and this information can be used as input in training an ML / NN model. Subsequently, in step 306, the method and system can map the recorded traffic patterns for each application to the power usage and power consumption requirements of each server / node in the cluster. Here, the mapping may be based on the power usage or power requirements of the traffic patterns over a defined period.

[0068] Still referring to Figure 3, in the following step 308, the process generates an ML / NN model to predict power usage for each server / node, such as the energy requirements for each server / node at a given time. Subsequently, in step 310, the method and system can use the output of the ML / NN model to predict network traffic patterns, energy usage, and energy requirements to provide energy orchestration and resource allocation. In other words, a specific application, task, job, operation, or program can be automatically assigned or allocated to a specific target server / node that has the minimum power requirements and can effectively run the assigned application, task, job, operation, or program. For example, such future traffic predictions may be based on historical power consumption by servers / nodes in a cluster. In step 312, the method and system can provide recommendations / suggestions for the best server / node and / or cluster to run the application, and / or identify the best server / node and / or cluster to run the application. In other embodiments, the method and system can automatically assign and allocate the optimal server / node (one with the minimum power requirements and capable of effectively running the application) for a specific application or an incoming / source application.

[0069] In other embodiments, any element of the above discussion may be represented on a graphical user interface (GUI), such as within a dashboard or portal. For example, the GUI may display the cluster and individual servers / nodes within the cluster that are available and / or running a particular application or task. In addition, users can visually predict future energy use and consumption based on known traffic patterns, further enabling network operators to better manage their clusters and servers / nodes during peak or low demand periods, and further enabling them to better predict future network infrastructure needs to meet demand for specific traffic patterns.

[0070] The specific order or hierarchical structure of blocks in the processes / flowcharts disclosed herein is understood to be illustrative of an example approach. Based on design preferences, the specific order or hierarchical structure of blocks in the processes / flowcharts may be rearranged. Furthermore, some blocks may be combined or omitted. The accompanying method claims present elements of various blocks in a sample order and are not intended to be limited to the specific order or hierarchical structure presented.

[0071] Some embodiments may also relate to systems, methods, and / or computer-readable media at a technical level of any possible integration. Furthermore, one or more of the above components may be implemented as instructions that are stored on a computer-readable medium and are executable by at least one processor (and / or may include at least one processor). The computer-readable medium may include a computer-readable non-temporary storage medium (or medium) that stores computer-readable program instructions for causing a processor to perform an operation.

[0072] A computer-readable storage medium may be a tangible device capable of holding and storing instructions for use by an instruction execution device. A computer-readable storage medium may, but is not limited to, an electronic storage device, a magnetic storage device, an optical storage device, an electromagnetic storage device, a semiconductor storage device, or any suitable combination thereof. A non-exhaustive list of more specific examples of computer-readable storage media includes: portable computer diskettes, hard disks, random access memory (RAM), read-only memory (ROM), erasable programmable read-only memory (EPROM or flash memory), static random access memory (SRAM), portable compact disk read-only memory (CD-ROM), digital multipurpose disks (DVDs), memory sticks, floppy disks, mechanically encoded devices such as punch cards or grooves on which instructions are recorded, and any suitable combination thereof. The computer-readable storage medium used herein is not to be interpreted as a transient signal itself, such as radio waves or other freely propagating electromagnetic waves, electromagnetic waves propagating through waveguides or other transmitting media (e.g., light pulses passing through fiber optic cables), or electrical signals transmitted through wires.

[0073] The computer-readable program instructions described herein may be downloaded from a computer-readable storage medium to each computing / processing device, or downloaded to an external computer or external storage device via a network such as the Internet, a local area network, a wide area network, and / or a wireless network. The network may include copper transmission cables, optical transmission fibers, wireless transmissions, routers, firewalls, switches, gateway computers, and / or edge servers. A network adapter card or network interface in each computing / processing device receives computer-readable program instructions from the network and transfers them to storage in the computer-readable storage medium within each computing / processing device.

[0074] The computer-readable program code / instructions for performing the operation may be assembler instructions, instruction set architecture (ISA) instructions, machine instructions, machine-dependent instructions, microcode, firmware instructions, state setting data, configuration data for integrated circuits, or source code or object code written in any combination of one or more programming languages, including object-oriented programming languages ​​such as Smalltalk and C++, and procedural programming languages ​​such as the C programming language, or similar programming languages. The computer-readable program instructions may be executed as a standalone software package, either entirely on the user's computer, partially on the user's computer, partially on a remote computer, or entirely on a remote computer or server. In the latter scenario, the remote computer may be connected to the user's computer through any type of network, including a local area network (LAN) or wide area network (WAN), and the connection may be to an external computer (for example, via the Internet using an Internet Service Provider). In some embodiments, for example, an electronic circuit including a programmable logic circuit, an FPGA (field-programmable gate array), or a programmable logic array (PLA) may execute computer-readable program instructions by utilizing state information of computer-readable program instructions to personalize the electronic circuit in order to perform a side or operation.

[0075] These computer-readable program instructions may be provided to a general-purpose computer, a dedicated computer, or a processor of another programmable data processing device to generate a device such that instructions executed via the processor of a computer or other programmable data processing device generate means for implementing functions / actions described in flowcharts and / or block diagrams (one or more blocks). These computer-readable program instructions may be stored on a computer-readable storage medium on which the instructions are stored, which can be instructed to cause a computer, a programmable data processing device, and / or other device to function in a particular manner such that the storage medium containing the instructions has a workpiece containing instructions that implement aspects of functions / actions described in flowcharts and / or block diagrams (one or more blocks).

[0076] Computer-readable program instructions may be loaded onto a computer, other programmable device, or other device so that a series of operational steps are executed on the computer, other programmable device, or other device to generate a computer-implemented process in which instructions executed on the computer, other programmable device, or other device implement a function / action described in a flowchart and / or block diagram (one or more blocks).

[0077] The illustrated flowcharts and block diagrams illustrate the architecture, functionality, and operation of possible implementations of systems, methods, and computer-readable media according to various embodiments. Here, each block in the flowchart or block diagram may represent a microservice, module, segment, or portion of instructions comprising one or more executable instructions for implementing a particular logical function. The methods, computer systems, and computer-readable media may include additional blocks, fewer blocks, different blocks, or different arrangements of blocks than those shown in the diagrams. In some alternative implementations, the functions shown in the blocks may occur outside the order shown in the diagrams. For example, two blocks shown consecutively may actually be executed concurrently or substantially concurrently, depending on the functions involved, or the blocks may be executed in reverse order. Note that each block in the illustrated block diagrams and / or flowcharts, and combinations of blocks in the illustrated block diagrams and / or flowcharts, may be implemented by a system based on dedicated hardware that performs a particular function or action, or by executing a combination of dedicated hardware and computer instructions.

[0078] It will become clear that the systems and / or methods described herein may be implemented in different forms of hardware, firmware, or combinations of hardware and software. The actual specific control hardware or software code used to implement these systems and / or methods is not an implementation limitation. For this reason, the operation and behavior of the systems and / or methods are described herein without reference to specific software code. It is understood that software and hardware may be designed to implement the systems and / or methods based on the descriptions herein.

[0079] The above description of specific embodiments fully reveals the schematic nature of the embodiments herein so that others, by applying their current knowledge, may readily modify and / or adapt such specific embodiments to various applications without deviating from the higher-level concepts. Such adaptations and modifications should, and are intended to be, construed as being within the meaning and scope of the equivalents of the disclosed embodiments. The phrases or terms used herein are to be understood as being for descriptive purposes only and not as to be limiting. Accordingly, while the embodiments herein are described in relation to preferred embodiments, those skilled in the art will recognize that the embodiments herein may be implemented with modifications within the scope of the embodiments described herein.

Claims

1. A method for allocating resources within a server cluster network, To determine one or more operational requirements for the first task, In relation to satisfying the one or more operational requirements of the first task, this includes identifying a number of nodes within the server cluster network, With respect to one or more second tasks, the traffic patterns for each of the aforementioned nodes are obtained, In order to perform the first task, the first node is identified from the plurality of nodes, A method for providing this.

2. The method according to claim 1, wherein the first task comprises at least one of an application, program, job, or operation.

3. The method according to claim 1, further comprising mapping the traffic pattern to the power requirements for each of the plurality of nodes in the server cluster network.

4. The method according to claim 3, further comprising generating a neural network model based on the traffic pattern mapped to the power requirements for each of the plurality of nodes in the server cluster network.

5. The method according to claim 4, wherein the neural network model is based on embedding.

6. The method according to claim 4, wherein the step of identifying the first node from the plurality of nodes in order to perform the first task is based on the generated neural network model.

7. The method according to claim 6, wherein the step of identifying the first node from the plurality of nodes in order to perform the first task is further based on predicting the future power consumption of each of the plurality of nodes.

8. The method according to claim 7, further comprising assigning the first task to the identified first node.

9. To determine one or more operational requirements related to the third task, In order to perform the third task described above, the second node is identified from the plurality of nodes, The method according to claim 7, further comprising:

10. The method according to claim 9, wherein the step of identifying the first node from the plurality of nodes in order to perform the first task is based on a neural network model.

11. A device for allocating resources within a server cluster network, Memory storage for storing computer executable instructions, The memory storage is connected in a communicative manner to the aforementioned memory storage, To determine one or more operational requirements for the first task, In relation to satisfying the one or more operational requirements of the first task, this includes identifying a number of nodes within the server cluster network, With respect to one or more second tasks, the traffic patterns for each of the aforementioned nodes are obtained, In order to perform the first task, the first node is identified from the plurality of nodes, To cause the device to perform the above, a processor configured to execute the computer executable instructions, A device equipped with the following features.

12. The apparatus according to claim 11, wherein the first task comprises at least one of an application, program, job, or operation.

13. The apparatus according to claim 11, wherein, when the computer executable instruction is executed by the processor, the apparatus further causes the apparatus to map the traffic pattern to the power requirements for each of the plurality of nodes in the server cluster network.

14. The apparatus according to claim 13, wherein the computer executable instructions, when executed by the processor, further cause the apparatus to generate a neural network model based on the traffic pattern mapped to the power requirements for each of the plurality of nodes in the server cluster network.

15. The apparatus according to claim 14, wherein the neural network model is based on embedding.

16. The apparatus according to claim 14, wherein the step of identifying the first node from the plurality of nodes in order to perform the first task is based on the generated neural network model.

17. The apparatus according to claim 16, wherein the step of identifying the first node from the plurality of nodes in order to perform the first task is further based on predicting the future power consumption of each of the plurality of nodes.

18. The apparatus according to claim 17, wherein when the computer executable instruction is executed by the processor, the apparatus further causes the apparatus to assign the first task to the identified first node.

19. When the aforementioned computer executable instruction is executed by the processor, To determine one or more operational requirements related to the third task, In order to perform the third task described above, the second node is identified from the plurality of nodes, The apparatus according to claim 17, which causes the apparatus to further perform the above.

20. A non-temporary computer-readable medium comprising computer-executable instructions for allocating resources within a server cluster network by a device, When the aforementioned computer executable instruction is executed by at least one processor of the device, To determine one or more operational requirements for the first task, In relation to satisfying the one or more operational requirements of the first task, this includes identifying a number of nodes within the server cluster network, With respect to one or more second tasks, the traffic patterns for each of the aforementioned nodes are obtained, In order to perform the first task, the first node is identified from the plurality of nodes, A non-temporary computer-readable medium that causes the device to execute the above.

Citation Information

Patent Citations

  • Information processing apparatus, container arrangement method, and container arrangement program

    JP2020144669A

  • Management computer, computer control method, and computer system

    WO2015151290A1

  • Virtual machine administration program, virtual machine administration device, and virtual machine administration method

    WO2017006384A1