Method and system for creating server clusters at edge locations

The automated template creation and BMaaS system addresses the inefficiencies of manual server cluster configuration, enabling faster, error-free, and cost-effective deployment of server clusters at edge locations.

JP7760612B2Active Publication Date: 2025-10-27RAKUTEN MOBILE INC
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
JP2023571974
Authority / Receiving Office
JP · JP
Patent Type
Patents
Current Assignee / Owner
Priority Date
2021-09-28
Filing Date
2021-11-12
Publication Date
2025-10-27
Estimated Expiration
2041-11-12

AI Technical Summary

Technical Problem

Existing methods for creating server clusters are prone to human error, time-consuming, and costly due to manual configuration and potential IP address conflicts, especially in edge computing environments.

Method used

A system and method utilizing BareMetal as-a-service (BMaaS) and automated template creation for server clusters, allowing users to input parameters through a user interface, generate inventory files automatically, and deploy clusters efficiently with predefined templates, reducing human intervention and errors.

Benefits of technology

Faster and more cost-effective cluster creation with reduced errors, ensuring efficient deployment and management of server clusters at edge locations.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 0007760612000002
    Figure 0007760612000002
  • Figure 0007760612000003
    Figure 0007760612000003
  • Figure 0007760612000004
    Figure 0007760612000004
Patent Text Reader

Abstract

The method includes automatically configuring a cluster using a predefined template of one or more servers located at an edge location. The method also includes creating a plurality of configuration profile templates. The method also includes obtaining one or more parameter values. The method also includes defining a plurality of parameters in each of the plurality of configuration profile templates based on the obtained one or more parameter values. The method also includes creating a master template based on the plurality of configuration profile templates. The method also includes storing the master template in a repository. The method also includes automatically creating a planned inventory file based on the master template. The method also includes configuring a cluster of one or more servers based on the planned inventory.
Need to check novelty before this filing date? Find Prior Art

Description

[Background technology]

[0001] A server cluster is a set of servers that work together to appear as a single system. Unlike grid servers, a server cluster has each node configured to perform the same tasks and controlled and scheduled by software. The components of a cluster are typically connected to each other over a network, and each node runs a single operating system. Clusters are usually deployed to improve performance and availability beyond that of a single computer, but are typically much more cost-effective than a single computer of comparable speed or availability.

[0002] Edge computing is a distributed computing paradigm that moves computation and data storage closer to where it is needed to improve response times and conserve bandwidth. Edge computing is a topology rather than a technology. Edge computing's origins lie in content delivery networks that served web and video content from edge servers deployed close to users of that content. Edge networks have evolved to host applications and application components on edge servers, resulting in commercial edge computing services that host applications such as dealer locators, shopping carts, real-time data aggregators, and ad insertion engines.

[0003] Aspects of the present disclosure are best understood from the following detailed description when read in conjunction with the accompanying drawings. In accordance with standard industry practice, various features are not drawn to scale. In fact, the dimensions of various features may be arbitrarily increased or decreased for clarity of illustration. [Brief explanation of the drawings]

[0004] [Figure 1A] FIG. 1 is a diagram of a server cluster creation system, according to some embodiments. [Figure 1B] 1 is a flow diagram of a method for reconfiguring a server cluster, according to some embodiments. [Figure 1C] FIG. 1 is a diagram of a cluster automation system, according to some embodiments. [Figure 2A] FIG. 1 is a diagram of a BareMetal profile entry form, according to an embodiment of the present invention. [Figure 2B] FIG. 10 is a diagram of a cluster profile input form according to an embodiment of the present invention. [Figure 2C] FIG. 1 is a diagram of an application profile input form according to an embodiment of the present invention. [Figure 2D] FIG. 10 is a diagram of a data center template display, according to an embodiment of the present invention. [Figure 3] FIG. 10 is a diagram of a cluster template selection display according to some embodiments. [Figure 3c] FIG. 10 is a diagram of a cluster template selection display according to some embodiments. [Figure 4] FIG. 10 is a diagram of a confirmation display, according to some embodiments. [Figure 4c] FIG. 10 is a diagram of a confirmation display, according to some embodiments. [Figure 5] FIG. 10 is a diagram of a generated planned inventory display according to some embodiments. [Figure 5c] FIG. 10 is a diagram of a generated planned inventory display according to some embodiments. [Figure 6] FIG. 1 is a diagram of a source code viewing display according to some embodiments. [Figure 6c] FIG. 1 is a diagram of a source code viewing display according to some embodiments. [Figure 7] FIG. 10 is a diagram of an execution cluster registration display according to some embodiments. [Figure 7c] FIG. 10 is a diagram of an execution cluster registration display according to some embodiments. [Figure 8] FIG. 10 is a diagram of a cluster registration progress display, according to some embodiments. [Figure 8c]FIG. 10 is a diagram of a cluster registration progress display, according to some embodiments. [Figure 9] FIG. 1 illustrates a high-level functional block diagram of a server cluster creation processor-based system, according to some embodiments. DETAILED DESCRIPTION OF THE INVENTION

[0005] The following disclosure includes many different embodiments or examples for implementing different features of the subject matter. To simplify the disclosure, specific examples of components, values, operations, materials, arrangements, etc. are described below. Of course, these are merely examples and are not intended to be limiting. Other components, values, operations, materials, arrangements, etc. are contemplated. For example, the following description of a first feature formed on or above a second feature includes embodiments in which the first and second features are formed in direct contact with each other, as well as embodiments in which an additional feature is formed between the first and second features such that the first and second features are not in direct contact with each other. Additionally, the present disclosure repeats reference numerals and / or characters in various examples. This repetition is for the purposes of brevity and clarity and does not in itself dictate a relationship between the various embodiments and / or configurations described.

[0006] Additionally, spatially relative terms such as "beneath," "below," "lower," "above," and "upper" may be used herein for ease of description to describe the relationship of one element or feature, as shown in the figures, to one or more other elements or features. The spatially relative terms are intended to encompass different orientations of the device in use or operation in addition to the orientation shown in the figures. The device may be otherwise oriented (rotated 90 degrees or at other orientations) and the spatially relative descriptors used herein interpreted accordingly.

[0007] In some embodiments, cluster creation is the process of installing a basic input / output system (BIOS), firmware, an operating system (OS), and Kubernetes (K8s) on a group or cluster of servers. BareMetal as-a-service (BMaaS) is a tool configured to be used to install remote clusters. BMaaS is configured to use a set of one or more input JavaScript Object Notation (json) files that contain the planned inventory for that cluster. The json files include IP addresses to be assigned to each node, hostnames, authentication information, installation package URL paths, network interfaces, versioned selection of software packages, runtime configuration parameters for the cluster, and other suitable parameters and information within the contemplated scope of the present disclosure. Once BMaaS receives the planned inventory files for the cluster, BMaaS performs the installation of firmware, OS, and K8s on the target cluster at the edge location.

[0008] In some embodiments, a user interacts with a user interface where the user can input parameters to create a cluster planning inventory file by entering desired configuration parameters into one or more parameter forms. The user inputs one or more of the following four types of data: (1) BareMetal Profile: parameters related to individual BareMetal servers in the cluster; (2) Cluster Profile: parameters related to the platform layer K8s; (3) Application Profile: parameters related to workloads; and (4) Datacenter Template (e.g., input parameters to the Datacenter Template configured to specify to servers which nodes are worker / master): references to each profile and selection of master and worker nodes. Other suitable types of data are also within the contemplated scope of this disclosure.

[0009] In some embodiments, a user enters four forms of parameters into a template. A user creates a cluster by logging into a data center homepage, clicking Create a New Cluster (e.g., in a graphical user interface), and selecting the desired data center template. Once the user selects a data center template, the inventory module handles creating the planned inventory file for that cluster by parsing the template, identifying all necessary parameters, making API calls to the IPAM to generate IP addresses, and making API calls to the naming module to generate hostnames for each node; thus, the completed planned inventory file is automatically generated. A user can repeat the process to create any number of clusters using the same template.

[0010] In some embodiments, a custom-built cluster template is created for multiple servers. Several configuration templates are available and selectable for the user to select and input parameters in the configuration template. An inventory file is created using the user inputs to the configuration template.

[0011] In some embodiments, the cluster automation system allows a user to create a template and then use that template whenever another user wants to create a new cluster. The created template eliminates the need for software builds, environment-specific configurations, and user-selected values. Template creation automates source code files (e.g., inventory files) by using the template and user input into the parameters contained in the template.

[0012] In some embodiments, the inventory file takes a few seconds to generate. In some embodiments, the inventory file is generated automatically without human error. IP addresses are generated automatically from IP address management (IPAM). IPAM generates unique IP addresses, so there are no IP conflicts. The process of creating a template is immutable; users select an already created template to create a new template.

[0013] In some embodiments, faster creation of clusters is possible due to faster deployment of servers.Template creation reduces costs as cluster deployment is automated.

[0014] In some other approaches, the source code of the inventory file is manually modified to input cluster parameters. When a user wants to make a change, even to a single parameter, the source code is manually modified and a full source code release lifecycle is performed to effect the change. In some other approaches, Excel-based inventory management tools are available but are difficult to manage and error-prone. In some other systems, manually writing a new inventory file requires hours of reconfiguration, an iterative process that must be followed every time a configuration change occurs. Manually writing the planned inventory for a new cluster is prone to human error in coding the planned inventory file. Other such systems have the inventory file recreated from scratch for the new cluster. This increases the possibility of conflicts, such as Internet Protocol (IP) address conflicts.

[0015] FIG. 1A is a diagram of a server cluster system 100, according to some embodiments.

[0016] The server cluster system (SCS) 100 includes a user interface (U / I) 102. The SCS 100 includes a processing circuit 902 (FIG. 11) and a memory 904 (FIG. 11) coupled to the processing circuit 902 (FIG. 11), the memory configured to store executable instructions 906 (FIG. 11). The executable instructions 906, when executed by the processing circuit 902, facilitate the performance of operations, including receiving a new input request 104 from a user 102 at a user interface 106, the new input request 104 including new parameters for a cluster. The user interface 106 allows the user 102 to input parameters associated with a configuration profile reference. Based on the user's template selection and input parameter changes (e.g., a cluster profile 108, an application profile 110, and a BareMetal profile 112), a new template is created in a data center template engine 114. The data center template engine 114 receives the user's template selection and input parameter changes and creates a new template to be stored in a pre-stored template database 116. Additionally, the user 102 can select a desired template from the pre-stored template database from the user interface 106. The data center template engine 114 then modifies the identified and selected template based on the user's input parameters received at the configuration profile reference 118 via the user interface 106 and profiles 108, 110, 112. The data center template engine 114 then creates a new master template based on the user's changes to be stored in the pre-stored template 104. Additionally, the data center template engine 114 creates a new inventory file that can be used by cloud services, such as BareMetal as-a-service (BMaaS) services, to reconfigure existing clusters.

[0017] The user 102 interacts with the user interface 106 to input a new template request. Once a new template is selected, the user 102 can enter new parameters. The user interface 106 is where interaction between the user 102 and the pre-stored template database 116 occurs. The user interface 106 enables the user 102 to effectively operate and control the SCS 100. In some embodiments, the user interface is composed of one or more layers, including a human-machine interface (HMI) that interfaces the machine with physical input hardware, such as a keyboard, mouse, or gamepad, and output hardware, such as a computer monitor, speakers, printer, and other suitable user interfaces within the contemplated scope of the present disclosure. Additional user interface layers may interact with one or more human senses, including a tactile user interface (touch), a visual user interface (vision), an auditory user interface (sound sense), an olfactory user interface (olfaction), a balance user interface (balance sense), a gustatory user interface (taste), and other suitable user interface layers within the contemplated scope of the present disclosure.

[0018] The user interface 106 interacts with the pre-stored template database 116. The user interface 106 presents the user 102 with several graphical user interfaces (e.g., the display pages shown in FIGS. 2A-2D ) through which the user 102 can select a configuration template and enter or modify parameters for each configuration profile reference, including the cluster profile 108, the application profile 110, and the Baremetal profile 112. The user 102 further identifies a template that corresponds to the cluster the user 102 wants to create. Based on the user's selected template and entered parameters, the data center's template engine 114 creates a new template for storage in the pre-stored template database 116, and an inventory file is automatically created for the creation process.

[0019] In some embodiments, the predefined, pre-created templates are based on existing templates created for the initial use of the cluster. When another template is created in the process, it is stored for future use. This makes template selection efficient.

[0020] FIG. 1B is a flow diagram of a method 150 of creating a server cluster, according to some embodiments.

[0021] For purposes of this disclosure, the operations described do not have to be performed in the order described in this disclosure. Some operations are not listed for the sake of brevity. Unless otherwise specified, the operations described in FIG. 1B do not have to be performed in the order described.

[0022] In the method 150, the user 102 provides an input request at operation 152. The user 102 initiates the cluster template process at the user interface 106. Now forming operation 152 proceeds to operation 154.

[0023] In method 150, user interface 106 allows user 102 to select a new template at operation 154. In a non-limiting example, user 102 may want to select a configuration template similar to the one that user 102 is currently working with. From here, operation 154 proceeds to operation 158.

[0024] In method 150, at operation 158, the data center template engine 114 generates a new inventory file from the created new master template from operation 156. In a non-limiting example, operation 158 creates a new planned inventory file based on the new master template. For example, source code for the inventory file is automatically created for the new inventory file. From here, operation 158 proceeds to operation 160.

[0025] In method 150, the BMaaS parses the inventory file at operation 160. Additionally, the BMaaS initiates a cluster creation workflow on the target cluster where the newly created template will be deployed.

[0026] FIG. 1C is a diagram of a cluster automation system 175, according to some embodiments.

[0027] The user 102 inputs cluster parameters (e.g., Table 1, FIG. 2B) such as the version, uniform resource locator (url), virtual router identifier (vrid), and other suitable parameters within the contemplated scope of this disclosure.

[0028] The user 102 enters BareMetal details (eg, Table 1, FIG. 2A) such as static IP, hostname, domain, user, and other suitable parameters within the contemplated scope of this disclosure.

[0029] The user 102 further enters application-related parameters (e.g., Table 1, FIG. 2C), such as flavor, kickstarter url, operating system (OS) url, config version, and other suitable parameters within the contemplated scope of the present disclosure.

[0030] The user 102 further registers an inventory file 178 with a BMaaS 180 located at a central location 182. The BMaaS 180 parses the inventory file 178 into clusters 184 at edge locations 188 including servers 186A-186H. The BMaaS 180 initiates a cluster creation workflow on the target cluster 184.

[0031] A user 102 prepares a cluster inventory file 178. For example, the user 102 performs the operations of method 150 to arrive at the cluster inventory file 178. The user 102 marks the master (e.g., a specific computer that handles scheduling and management of worker nodes) and worker nodes (e.g., a general-purpose network) in the cluster 184.

[0032] Table 1 below shows a non-limiting representation of parameters for a configuration profile reference in a template, according to some embodiments. [Table 1]

[0033] The example profiles and parameters in Table 1 are possible representations of profiles, parameters, and configuration profile references that may be modified or changed by a user 102. Additionally, the parameters entered by a user 102 may be used by a template engine 114 at the data center to create new templates.

[0034] For example, a BareMetal profile shows several possible parameters that fall under the BareMetal profile type; a Cluster profile shows several possible parameters that fall under the Cluster profile type; an Application profile shows several possible parameters that fall under the Application profile type; a Datacenter Template profile shows several possible workflow or worker node selections.

[0035] Based on the template selected and parameters entered by the user 102, the user interface 106 presents the user 102 with a graphical user interface, such as a display screen (FIG. 2A), on which the user 102 enters new parameters for a BareMetal profile, a cluster profile (FIG. 2B), an application profile (FIG. 2C), a master node (FIG. 2D), a worker node (FIG. 2D), or a workflow (FIG. 2D), to create a new master template.

[0036] FIG. 2A is an illustration of a BareMetal profile entry form 210, according to an embodiment of the present invention.

[0037] In some embodiments, BareMetal Profile Input Form 210 is part of an Inventory Management display 241, which is part of user interface 106. User 102 can enter a Profile Name in block 212, a Profile Category in block 214, and a Profile Type in block 216. Below blocks 212-216, user 101 can enter any parameter changes to the BareMetal profile in parameter boxes 218A-C.

[0038] For example, in box 218D, input form 210 requests a parameter (7) for host domain (as shown in the BareMetal profile). User 102 can enter this parameter in box 218A. Additionally, in box 218E, input form 210 requests a parameter (8) for search domain (as shown in the BareMetal profile). User 102 can enter this parameter in box 218B. Additionally, in box 218F, input 210 requests a parameter (9) for ver (e.g., verification) (as shown in the BareMetal profile). User 102 can enter this parameter in box 218C. In some embodiments, this process is iterative until all parameter values ​​have been entered. In some embodiments, the parameters are modified or changed. For example, the user 102 has selected the same template as the last configuration, but only a few parameters have changed, so the user 102 needs to make a few changes since the template retains all parameters previously entered. When the user 102 is done, they can click the Submit button to save the BareMetal profile, or press Cancel to remove the changes to the parameters.

[0039] FIG. 2B is a diagram of a ClusterProfile input form 220, according to an embodiment of the present invention.

[0040] In some embodiments, cluster profile input form 220 is part of an Inventory Management display 241 shown on user interface 106. User 102 can enter a cluster profile name in block 222, a profile category in block 224, and a profile type in block 226. Below blocks 222-226, user 101 can enter any cluster parameter changes to the cluster profile in parameter boxes 228A-C.

[0041] For example, in box 228D, input form 220 requests parameter (6) for VRID rules (as shown in the cluster profile). User 102 can enter this parameter in box 228A. Additionally, in box 228E, input form 220 requests parameter (7) for install_type (as shown in the cluster profile). User 102 can enter this parameter in box 228B. Additionally, in box 228F, input form 220 requests parameter (8) for version (as shown in the cluster profile). User 102 can enter this parameter in box 228C. In some embodiments, this process is iterative until all parameter values ​​are entered. In some embodiments, the parameters are modified or changed. For example, user 102 selected the same template as in the last configuration, with only a few parameters changed, so user 102 needs to make only a few changes since the template retains all previously entered parameters. When the user 102 is finished, he or she can click the Submit button to save the cluster profile, or press Cancel to remove any changes to the parameters.

[0042] FIG. 2C is a diagram of an application profile entry form 230, according to an embodiment of the present invention.

[0043] In some embodiments, application profile input form 230 is part of an Inventory Management display 241 shown on user interface 106. User 102 can enter an application name in block 232, an application profile category in block 234, and an application profile type in block 236. Below blocks 232-236, user 102 can enter any application parameter changes to the application profile in parameter boxes 238A-C.

[0044] For example, in box 238D, input form 230 requests parameter (1) for OS_REPO_URL (as shown in the application profile). User 102 can enter this parameter in box 238A. Additionally, in box 238E, input form 230 requests parameter (2) for BMAAS_ARTIFACTORY_URL (as shown in the application profile). User 102 can enter this parameter in box 238B. Additionally, in box 238F, input form 230 requests parameter (3) for KICKSTART_URL (as shown in the application profile). In some embodiments, this process is iterative until all parameter values ​​are entered. In some embodiments, the parameters that are modified or changed. For example, user 102 selected the same template as in the last configuration, with only a few parameters changed; therefore, user 102 needs to make only a few changes since the template retains all previously entered parameters. User 102 can enter this parameter in box 238C. When the user 102 is finished, he or she can click the Submit button to save the cluster profile, or press Cancel to remove any changes to the parameters.

[0045] In some embodiments, the user 102 skips one or more of the requested parameters in each of the input forms 210, 220, 230. In some embodiments, the user 102 modifies the changing parameters to replace the pre-configured cluster template.

[0046] FIG. 2D is an illustration of a Data Center Template display 240, according to an embodiment of the present invention.

[0047] In some embodiments, if the user 102 wants to make any parameter changes, the user 102 simply fills out a profile template, such as templates 210 , 220 , 230 , and creates a new master template 240 .

[0048] In some embodiments, Master Template 240 is part of Inventory Management display 241, which is part of User Interface 106. Based on user 102 input, Master Template display 240 displays BareMetal Profile 242, Cluster Profile 244, Cluster Name 246, Workflow 248, Cluster Number 250, and Worker Node 252. The new cluster "GC_Cluster," indicated in Cluster Name 246, is now ready to be implemented with the input parameters submitted by user 102.

[0049] 3 and 3c (continued) are diagrams of a cluster template selection display 300 according to some embodiments.

[0050] The user 102 can select the newly created template in box 302 of the display 300. If the user 102 selects to use the new template, a confirmation screen is presented as shown in Figures 4 and 4c (continued).

[0051] 4 and 4c (continued) are diagrams of a confirmation display 400 according to some embodiments.

[0052] A user 102 can create a cluster from a template from box 441. Box 441 displays several data center templates for the user 102 to choose from. In some embodiments, the selected name 442 matches the newly created template name shown on display 300.

[0053] 5 and 5c (continued) are diagrams of a generated planned inventory display 500 according to some embodiments.

[0054] In some embodiments, the user 102 selects the newly created template with the selected name 442 and clicks the checkbox 501. The user 102 then clicks the "+" or add box 502 to generate the planned inventory file.

[0055] 6 and 6c (continued) are diagrams of a source code viewing display 600 according to some embodiments.

[0056] The user 102 can verify that the inventory file code has been generated. The user 102 can click on the three vertical dots 602, which opens a box 604 giving the user 102 the option to view the JavaScript Object Notation (JSON). The user 102 then clicks on the JSON, which brings up a source code display (not shown).

[0057] In some embodiments, the source code display screen allows the user 102 to review the JSON for stock source code for implementing the new cluster configuration. The stock source code is automatically generated based on the template selected and parameters entered by the user 102. In some embodiments, this automatic generation of code is performed by artificial intelligence, machine code learning, or other suitable applications within the scope of this disclosure.

[0058] 7 and 7c (continued) are diagrams of an execute cluster registration display 700 according to some embodiments.

[0059] The execute cluster registration display 700 allows the user 102 to select a check box 702 and click a play button 704 to initiate the cluster registration process. In some embodiments, before the user 102 registers or unregisters a node in a cluster, the user 102 considers the products that are activated on the primary master server before the user 102 activates products on any other nodes. In some embodiments, a node cannot be registered to a cluster if it is already a member of another cluster. In this situation, the node is first unregistered from its current cluster. In some embodiments, node registration is performed directly through the local management interface of the device that wants to join the cluster. In some embodiments, the device attempting to register is able to communicate with the primary master.

[0060] 8 and 8c (continued) are diagrams of a cluster registration progress display 900 according to some embodiments.

[0061] The user 102 can track the progress of the cluster registration by clicking the vertical three-line button 802 and then clicking view progress 804 .

[0062] 9 is a block diagram of a server cluster reconfiguration processing circuit 900, according to some embodiments. In some embodiments, the server cluster reconfiguration processing circuit 900 is a general-purpose computing device including a hardware processor 902 and a non-transitory computer-readable storage medium 904. Among other things, the storage medium 904 stores computer program code 906, i.e., a set of executable instructions, such as for the data center's template engine 114. Execution of the instructions 906 by the hardware processor 902 represents (at least in part) a server cluster reconfiguration tool, which implements some or all of the methods (hereinafter, processes and / or methods) described herein, according to one or more embodiments.

[0063] The processor 902 is electrically coupled to a computer-readable storage medium 904 via a bus 908. The processor 902 is also electrically coupled to an I / O interface 910 by the bus 908. A network interface 912 is also electrically connected to the processor 902 via the bus 908. The network interface 912 is connected to a network 914, such that the processor 902 and the computer-readable storage medium 904 can be connected to external elements via the network 914. The processor 902 is configured to execute computer program code 906 encoded on the computer-readable storage medium 904 to enable the server cluster reconfiguration processing circuit 900 to perform some or all of the described processes and / or methods, such as method 150 of FIG. 1B . In one or more embodiments, the processor 902 is a central processing unit (CPU), a multiprocessor, a distributed processing system, an application-specific integrated circuit (ASIC), and / or other suitable processing unit.

[0064] In one or more embodiments, computer-readable storage medium 904 is an electronic, magnetic, optical, electromagnetic, infrared, and / or semiconductor system (or apparatus or device). For example, computer-readable storage medium 904 includes a semiconductor or solid-state memory, magnetic tape, a removable computer diskette, a random access memory (RAM), a read-only memory (ROM), a rigid magnetic disk, and / or an optical disk. In one or more embodiments using an optical disk, computer-readable storage medium 904 includes a compact disk-read-only memory (CD-ROM), a compact disk-read / write (CD-R / W), and / or a digital video disk (DVD).

[0065] In one or more embodiments, the storage medium 904 stores computer program code 906 configured to enable the server cluster reconfiguration processing circuit 900 to perform some or all of the described processes and / or methods. In one or more embodiments, the storage medium 904 also stores information such as dynamic power dispatch algorithms that facilitate performing some or all of the described processes and / or methods.

[0066] The server cluster reconfiguration processing circuit 900 includes an I / O interface 910, such as the user interface 106. The I / O interface 910 is coupled to external circuitry. In one or more embodiments, the I / O interface 910 includes a keyboard, a keypad, a mouse, a trackball, a trackpad, a touch screen, cursor direction keys, and / or other suitable I / O interfaces within the contemplated scope of the present disclosure for communicating information and commands to the processor 902.

[0067] The server cluster reconfiguration processing circuit 900 further includes a network interface 912 coupled to the processor 902. The network interface 912 enables the server cluster reconfiguration processing circuit 900 to communicate with a network 914 to which one or more other computer systems are connected. The network interface 912 includes a wireless network interface such as BLUETOOTH, WIFI, WIMAX, GPRS, WCDMA, etc., or a wired network interface such as ETHERNET, USB, IEEE-864, etc. In one or more embodiments, some or all of the described processes and / or methods are implemented in two or more server cluster reconfiguration processing circuits 900.

[0068] The server cluster reconfiguration processing circuit 900 is configured to receive information via an I / O interface 910. The information received via the I / O interface 910 includes one or more of instructions, data, and / or other parameters for processing by the processor 902. The information is transferred to the processor 902 via the bus 908. The server cluster reconfiguration processing circuit 900 is configured to receive information related to a UI via the I / O interface 910. The information is stored in the computer-readable medium 904 as a user interface (UI) 918.

[0069] In some embodiments, a method includes automatically configuring a cluster using a predefined template of one or more servers located at an edge location. The method also includes creating a plurality of configuration profile templates. The method also includes obtaining one or more parameter values. The method also includes defining a plurality of parameters in each of the plurality of configuration profile templates based on the obtained one or more parameter values. The method also includes creating a master template based on the plurality of configuration profile templates. The method also includes storing the master template in a repository. The method also includes automatically creating a planned inventory file based on the master template. The method also includes configuring the cluster of one or more servers based on the planned inventory. Other embodiments of this aspect include corresponding computer systems, apparatuses, and computer programs recorded on one or more computer storage devices, each configured to perform the operations of the method.

[0070] Implementations may include one or more of the following features: A method in which creating a master template based on a plurality of configuration profile templates includes selecting a server type. Creating the plurality of configuration profile templates includes identifying at least one of a cluster profile, a cloud-native function (CNF) profile, or an exokernel-based profile within each of the plurality of configuration profile templates. The method includes obtaining a user login at an inventory user interface. The method includes obtaining a creation of a new cluster selection. The method includes obtaining a template selection for a data center. The method includes obtaining template parameters based on the master template. Implementations of the described technologies may include hardware, a method or process, or computer software on a computer-accessible medium.

[0071] One general aspect includes a system. The system also includes a processing circuit. The system also includes a memory coupled to the processing circuit, the memory configured to store executable instructions that, when executed by the processing circuit, facilitate performance of operations, the executable instructions including configuring one or more clusters of servers located at edge locations using predefined templates; creating a plurality of configuration profile templates; obtaining one or more parameter values ​​from a user to define a plurality of parameters in each of the plurality of configuration profile templates; creating a master template based on the defined plurality of configuration profile templates and a selection of server types; storing the master template in a repository; automatically creating a planned inventory file based on the master template; and configuring the one or more clusters of servers based on the planned inventory file.

[0072] Implementations may include one or more of the following features: A system in which performing the operations further includes obtaining a user login to an inventory user interface. Performing the operations further includes selecting a data center template for creating the new cluster. Performing the operations further includes obtaining parameters from a master template and an associated profile. Performing the operations further includes generating a unique IP address and hostname for the new template. Performing the operations further includes filling a cluster planning inventory file and registering the cluster planning inventory file with baremetal-as-a-service (BMaaS). Performing the operations further includes initiating a cluster creation process. Performing the operations further includes parsing the planning inventory file and initiating a cluster creation workflow on the target cluster. Implementations of the described technologies may include hardware, a method or process, or computer software on a computer-accessible medium.

[0073] In some embodiments, a method includes configuring a cluster of one or more servers located at an edge location using a predefined template. The method also includes creating a plurality of configuration profile templates. The method also includes receiving one or more parameter values ​​from a user to define a plurality of parameters in each of the plurality of configuration profile templates. The method also includes creating a master template based on the defined plurality of configuration profile templates and a selection of server types. The method also includes storing the master template in a repository. The method also includes creating a planning inventory file based on the master template. The method also includes configuring the cluster of one or more servers based on the planning inventory file.

[0074] Implementations may include one or more of the following features: A method includes obtaining a user login at an inventory user interface. A method includes obtaining and storing cluster profile data. A method includes obtaining and saving baremetal profile information. The foregoing outlines features of some embodiments so that those skilled in the art may better understand the aspects of the present disclosure. Those skilled in the art will readily appreciate that they may use this disclosure as a basis for designing or modifying other processes and structures for carrying out the same purposes and / or achieving the same advantages of the embodiments presented herein. Those skilled in the art will also appreciate that such equivalent constructions do not depart from the spirit and scope of the present disclosure, and that one skilled in the art will also recognize that various changes, substitutions, and alterations may be made herein without departing from the spirit and scope of the present disclosure.

Claims

1. 1. A method for automatically configuring a cluster using a predefined template of one or more servers located at an edge location, the method being performed by a processing circuit, the method comprising: creating a plurality of configuration profile templates for configuring one or more clusters of one or more edge servers; obtaining, from a user, one or more parameter values ​​for at least one of the plurality of configuration profile templates; creating a master template for the at least one of the plurality of configuration profile templates based on the one or more parameter values; storing the master template in a repository; generating source code for a planned inventory file for configuring the clusters based on the master template by artificial intelligence, machine code learning, or other applications; configuring the cluster of the one or more servers by initiating a predetermined cluster creation flow based on the source code for the planned inventory file; A method comprising:

2. creating the master template Select the server type from master server and worker server. The method of claim 1 , comprising:

3. Getting the creation of a new cluster selection The method of claim 1 further comprising:

4. Getting Data Center Template Selection The method of claim 3 further comprising:

5. a processing circuit; a memory coupled to the processing circuitry that, when executed by the processing circuitry, a memory configured to store executable instructions that enable execution of operations, including configuring a cluster of one or more servers located at an edge location using a predefined template, wherein execution of the operations includes: creating a plurality of configuration profile templates for configuring one or more clusters of one or more edge servers; obtaining, from a user, one or more parameter values ​​for at least one of the plurality of configuration profile templates; creating a master template for the at least one of the plurality of configuration profile templates based on the one or more parameter values; storing the master template in a repository; generating source code for a planned inventory file for configuring the clusters based on the master template by artificial intelligence, machine code learning, or other applications; configuring the cluster of the one or more servers by initiating a predetermined cluster creation flow based on the source code for the planned inventory file; Including, the system.

6. The execution of the operation is Selecting a data center template to create a new cluster The system of claim 5 further comprising:

7. The execution of the operation is Generating a unique IP address and hostname for the new template The system of claim 5 further comprising:

8. The execution of the operation is Completing the cluster planning inventory file and Registering the cluster planned inventory file in baremetal-as-a-service (BMaaS); The system of claim 5 further comprising:

9. The execution of the operation is Initiating the cluster creation process The system of claim 5 further comprising:

10. The execution of the operation is Parsing the planned inventory file and initiating a cluster creation workflow on the target cluster. The system of claim 5 further comprising:

11. 1. A method for configuring a cluster of one or more servers located at an edge location using a predefined template, the method being performed by a processing circuit, the method comprising: creating a plurality of configuration profile templates for configuring one or more clusters of one or more edge servers; receiving, from a user, one or more parameter values ​​for at least one of the plurality of configuration profile templates; creating a master template for the at least one of the plurality of configuration profile templates based on the one or more parameter values; storing the master template in a repository; generating source code for a planned inventory file for configuring the clusters based on the master template by artificial intelligence, machine code learning, or other applications; configuring the cluster of the one or more servers by initiating a predetermined cluster creation flow based on the source code for the planned inventory file; A method comprising:

12. Obtaining and storing cluster profile data The method of claim 11 further comprising:

13. Obtaining and storing BareMetal profile information The method of claim 11 further comprising:

14. Selecting the master and worker servers The method of claim 11 further comprising:

Citation Information

Patent Citations

  • Method and apparatus for provisioning a template-based platform and infrastructure

    JP2017505494A

  • Configuration management repository for a distributed platform

    US8583769B1