System and method for infrastructure consumption
Patent Information
- Application Number
- CN202610241370.7
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Priority Date
- 2025-02-28
- Filing Date
- 2026-02-28
- Publication Date
- 2026-08-28
AI Technical Summary
因此,用户不得不面对繁琐的流程,这些流程无法满足现代应用程序的动态需求,最终阻碍了当代云环境所需的敏捷性和可扩展性
Smart Images

Figure CN122653809A_ABST
Abstract
Description
[0001] Cross-referencing This application claims priority to European Patent Application No. 25315069.2, filed on 28 February 2025, the entire contents of which are incorporated herein by reference. Technical Field
[0002] This technology relates to infrastructure management, and in particular to methods and systems for orchestrating and manipulating physical infrastructure components. Background Technology
[0003] Existing solutions in the physical infrastructure management domain often rely on rigid monolithic architectures that offer limited functionality only through specific application programming interfaces (APIs). These systems typically require users to interact directly with hardware components, such as bare-metal servers, through predefined interfaces. For example, traditional bare-metal APIs provide a set of operations for managing physical servers, including setup, restart, and monitoring. However, these APIs do not abstract away the underlying complexities of the physical infrastructure, resulting in a steep learning curve for users and limiting their ability to effectively customize or optimize resource consumption.
[0004] Another common approach involves using legacy systems that operate in isolation and lack integration with modern cloud-native architectures. These systems typically take a siloed approach, with each component (such as network or storage) managed independently. This fragmentation leads to inefficiency because users must switch between multiple interfaces and workflows to achieve their goals. Furthermore, the lack of a unified control plane means that users cannot easily orchestrate complex operations across multiple infrastructure components, resulting in increased runtime overhead and potential errors in resource allocation.
[0005] Furthermore, existing solutions often fail to provide a user-friendly experience because they cannot cater to users with varying levels of expertise. Many systems require deep technical knowledge to effectively manage physical resources, which can prevent less experienced users from fully utilizing the infrastructure's capabilities. This limitation is exacerbated by the lack of technology-agnostic abstractions that simplify interaction with the infrastructure. Consequently, users are forced to navigate cumbersome processes that fail to meet the dynamic demands of modern applications, ultimately hindering the agility and scalability required by contemporary cloud environments.
[0006] Given these limitations, the goal of this technology is to partially overcome the aforementioned challenges by proposing a novel approach that addresses the inefficiencies and impracticalities of existing technological solutions. Summary of the Invention
[0007] This technology aims to overcome at least some of the disadvantages described in the previous section.
[0008] According to one aspect, the present technology relates to a computer-implemented system configured to perform actions on components of a physical infrastructure based on requests from a user, the physical infrastructure including multiple components, including computing resources, networks, and storage devices, the system comprising at least the following: 1. A compute resource manager module, wherein the compute resource manager module is configured to: a. Receive a request from the user; b. Manage computing resources, which are listed in a computing resource list provided by the data synchronization submodule; c. Send the startup script for the given computing resource to the startup script manager submodule, wherein the startup script is configured to allow the given computing resource to start over the network; d. Send a request to the Inventory Manager module; e. Receive data from the inventory manager module; 2. The inventory manager module, wherein the inventory manager module is configured to: a. Manage the inventory of computing resources for the physical infrastructure; b. Receive data from the synchronization submodule; c. Receive requests from the computing resource manager module; and d. Send the data to the Compute Resource Manager module to execute the command.
[0009] According to another aspect, this technology relates to a computer-implemented method for performing actions on components of physical infrastructure based on requests from users, the physical infrastructure including multiple components including computing resources, networks, and storage devices, the method being configured to be implemented by a computer-implemented system, the method comprising: 1. Receive a request from the user for executing a command; 2. Check the validity of the user's request; and 3. After the user's request is verified, execute the command to initiate the predetermined workflow.
[0010] According to another aspect, the present technology relates to a computer-implemented system configured to implement the method according to the present technology.
[0011] According to another aspect, the present technology relates to a non-transitory computer-readable medium containing instructions that, when executed by a processor, cause the processor to perform a method according to the present technology.
[0012] Before providing a detailed description of implementations of this technology below, some optional features that can be used in conjunction with the technology or as alternatives will be listed below: According to one example, the plurality of actions includes at least one of the following actions: 1. A power management task, wherein the power management task includes: a. Restart computing resources; 2. Operating system installation based on the user's choice of operating system; 3. Partition the disk of the computing resources according to the selected operating system; 4. Open the remote console for debugging; 5. Rescue mission, the rescue mission including: a. Create rescue images; b. Load rescue images; c. Update rescue images; 6. Maintenance of hardware components; and 7. Firmware security tasks, wherein the firmware security tasks include: a. Update firmware.
[0013] According to one example, the technology also includes an orchestrator module configured to: 1. Receive a request from the user, the request containing a descriptive model of the final state of the physical infrastructure; 2. Generate a set of sub-requests based on the request, the set of sub-requests being associated with instructions for configuring a set of components of the physical infrastructure to bring the physical infrastructure into the final state; 3. Each of the sub-requests in the set of sub-requests is executed in a predetermined order determined based on the description model of the request.
[0014] According to one example, the technology also includes a workflow submodule configured to determine the predetermined sequence.
[0015] According to one example, the compute resource manager module is also configured to receive sub-requests from the orchestrator module.
[0016] According to one example, the inventory manager module is also configured to: 1. Receive a sub-request from the orchestrator module to check an inventory of computing resources, the inventory containing data about multiple computing resources; and 2. Based on the sub-request, send the data to the orchestrator module.
[0017] According to one example, this technology also includes a network service manager module, which is configured to: 1. Receive a sub-request from the orchestrator module; and 2. Manage the network resources of the physical infrastructure.
[0018] According to one example, the technology also includes a proof management module configured to verify the integrity of the computing resource startup process by measuring and analyzing platform configuration register values.
[0019] According to one example, the technology also includes a self-encrypting disk inventory module, which is configured to: 1. Manage and track multiple self-encrypting drives within the organization; 2. Store and manage the physical security identifier and associated keys of self-encrypting drives, enabling seamless and efficient local disk encryption management.
[0020] According to one example, the computing resources include servers.
[0021] According to one example, the command includes installing a new operating system onto the computing resource according to a predetermined disk partitioning scheme.
[0022] According to one example, the predetermined workflow includes at least the following sub-steps: 1. Restart the computing resources in rescue mode; 2. Receive startup data; 3. Receive information about the characteristics of the computing resources; 4. Based on the predetermined drive partitioning scheme and the boot data and received information, install the new operating system onto the computing resources; 5. Restart the computing resources on the new operating system.
[0023] According to one example, the technology also includes a step of sending a request for startup data before the step of receiving startup data.
[0024] According to one example, the technology also includes a step of sending a request for information about the characteristics of the computing resource before the step of receiving information about the characteristics of the computing resource.
[0025] According to one example, the technology also includes the step of connecting a computing resource manager module to the computing resource to allow drive writes before installing the new operating system onto the computing resource.
[0026] According to one example, the steps to verify the installation process include sending information from the computing resource to the computing resource manager module.
[0027] According to one example, the technology also includes updating the firmware of the computing resources, the firmware update including: 1. Start the computing resources on the network; 2. Use the computing resource manager module to check the computing resources: a. When an update to the firmware for the computing resources becomes available, update the firmware accordingly; and b. Restart the computing resource on its operating system, or directly load the operating system of the computing resource without restarting. Attached Figure Description
[0028] To better understand this technology and its other aspects and additional features, please refer to the following description in conjunction with the accompanying drawings, in which: Figure 1 : Figure 1 A computer system for manipulating physical infrastructure components according to an embodiment of the present technology is shown.
[0029] Figure 2 : Figure 2 The physical infrastructure according to an implementation of this technology is shown.
[0030] Figure 3 : Figure 3 The steps of a computer-implemented method for operating components of physical infrastructure according to an embodiment of the present technology are illustrated schematically.
[0031] Figure 4 : Figure 4 The sequential steps of a computer-implemented method for manipulating components of physical infrastructure according to an embodiment of the present technology are shown.
[0032] Figure 5 : Figure 5 A computer system according to an embodiment of the present technology is shown, the computer system being configured to perform actions on components of a physical infrastructure.
[0033] Figure 6 : Figure 6The sequential steps of a computer-implemented method for performing actions on components of physical infrastructure according to an embodiment of the present technology are shown.
[0034] Figure 7 : Figure 7 A computer system according to the present technology is shown.
[0035] Figure 8 : Figure 8 A schematic diagram illustrating the nominal consumption of a product unit of a physical infrastructure according to an embodiment of the present technology is shown.
[0036] Figure 9 : Figure 9 A security model represented by constructing tenant definitions is shown according to an implementation of this technology.
[0037] Figure 10 : Figure 10 A regional deployment model according to an implementation of this technology is shown.
[0038] Figure 11 : Figure 11 A synchronization scheme according to an embodiment of the present technology is shown.
[0039] Figure 12 : Figure 12 A flowchart illustrating the synchronization process according to an embodiment of the present technology is shown. Detailed Implementation
[0040] The examples and conditional language listed herein are primarily intended to help the reader understand the principles of this technology, rather than limiting its scope to these specific examples and conditions. It should be understood that those skilled in the art can devise various arrangements that, although not explicitly described or shown herein, embody the principles of this technology and are included within its spirit and scope.
[0041] Furthermore, to aid understanding, the following description may depict a relatively simplified implementation of this technology. Those skilled in the art will understand that various implementations of this technology may involve greater complexity.
[0042] In some cases, examples that are considered useful modifications to the present technology may also be illustrated. This is done merely to aid understanding and, again, is not intended to limit the scope of the present technology or define its boundaries. These modifications are not an exhaustive list, and other modifications can be made by those skilled in the art, while such other modifications remain within the scope of the present technology. Furthermore, the absence of examples illustrating modifications should not be construed as impossibility of modification and / or as the only way to implement that element of the present technology.
[0043] Furthermore, all statements herein that illustrate the principles, aspects, and implementations of the present technology, and specific examples thereof, are intended to cover their structural and functional equivalents, whether they are currently known or will be developed in the future. Therefore, for example, those skilled in the art will understand that any block diagram herein represents a conceptual view of an illustrative circuit embodying the principles of the present technology. Similarly, it should be understood that any flowchart, diagram, state transition diagram, pseudocode, etc., represents various processes that can be substantially represented in a computer-readable medium and executed by a computer or processor, whether or not such a computer or processor is explicitly shown.
[0044] In the context of this technology, a server refers to a computing resource, computer system, or dedicated hardware device that provides services and resources to other computers, devices, or users over a network. Servers are typically equipped with powerful processing capabilities, large amounts of memory, and extensive storage capacity to handle intensive computing tasks and manage massive amounts of data. They run specialized software, such as web servers, database servers, file servers, or application servers, to provide specific functions and services to clients upon request. Client devices access these resources via standard communication protocols such as HTTP, FTP, or TCP / IP.
[0045] In the context of this technology, a switch is a network device that forwards and filters data packets between devices connected to it. It uses packet switching technology to receive data, process the data, and forward the data to other devices on the network based on the device's MAC address or IP address. Switches are essential components for building and managing computer networks, enabling efficient communication between different devices within a data center infrastructure.
[0046] The functions of the various elements shown in the figure, including any functional block labeled "processor," can be implemented using dedicated hardware and hardware capable of executing software in association with appropriate software. When provided by a processor, these functions can be provided by a single dedicated processor, a single shared processor, or multiple independent processors, some of which may share resources. In some embodiments of this technology, the processor can be a general-purpose processor, such as a central processing unit (CPU), or it can be a processor dedicated to a specific purpose, such as a digital signal processor (DSP). Furthermore, the explicit use of the term "processor" should not be construed as exclusively referring to hardware capable of executing software, and may implicitly include, but is not limited to, application-specific integrated circuits (ASICs), field-programmable gate arrays (FPGAs), read-only memory (ROM) for storing software, random access memory (RAM), and non-volatile memory. Other conventional and / or custom hardware may also be included.
[0047] A software module, or simply a module implied as software, may be represented herein as any combination of flowchart elements or other elements indicating the performance of process steps and / or textual descriptions. Such a module may be executed by hardware, whether explicitly or implicitly shown. Furthermore, it should be understood that a module may include, for example (but not limited to), computer program logic, computer program instructions, software, protocol stacks, firmware, hardware circuitry, or combinations thereof, as long as they provide the required functionality.
[0048] With these fundamental principles in mind, we will now consider some non-limiting examples to illustrate the specific implementations of various aspects of this technology.
[0049] According to one implementation, this technology represents a transformative approach to the management and consumption of physical infrastructure in cloud environments. It aims to simplify the interaction between product units and underlying hardware resources, thereby building a more efficient and flexible infrastructure management system.
[0050] According to one implementation, this technology is configured as a control plane to abstract the complexity of the physical infrastructure, enabling product units to interact with hardware resources through a unified application programming interface (also known as an API). An API is a set of rules and protocols, as well as those well known to those skilled in the art, that allow different software applications or modules and submodules to communicate with each other. An API defines the methods and data formats that applications can use to request and exchange information, thereby enabling integration and functionality across a variety of systems and services.
[0051] According to one implementation, this technology is configured to replace traditional bare metal consumption methods, which typically limit flexibility and scalability. Advantageously, by utilizing internal APIs, this technology can provide abstract primitives independent of the underlying technology, enabling product units to manage physical assets without directly relying on legacy systems.
[0052] According to one implementation, managing or manipulating physical assets or resources of physical infrastructure can refer to consuming the asset or resource, such as a user using the asset or resource.
[0053] According to one implementation, this technology can be used as part of an architecture built around multiple layers, each serving a different purpose: ● Board Level: This is the highest level of abstraction, grouping regions with similar regulatory and administrative restrictions.
[0054] ● Region Level: Each region consists of multiple Availability Zones, which are designed as fault domains. This structure ensures that a failure in one region will not affect other regions.
[0055] ● Availability Zone Level: Each availability zone contains physical resources that can be managed through this technology.
[0056] As described below, this technology represents a significant advancement in physical infrastructure management, particularly in cloud environments. It enables organizations to optimize resource consumption and improve operational efficiency by providing a unified control plane and abstracting the complexities of hardware management. As projects evolve, addressing their inherent challenges is crucial for project success and application across various product units.
[0057] According to one embodiment, the technology relates to a computer system for manipulating and / or managing components of physical infrastructure. The system is capable of efficiently orchestrating various components, including computing resources, network, and storage units, preferably based on user requests. The system's architecture is designed to provide users with an interface that seamlessly interacts with the underlying infrastructure, thereby simplifying the complexities associated with physical resource management.
[0058] According to one embodiment, the technology may include an orchestrator module that receives user requests and advantageously transforms them into executable sub-requests. The orchestrator module can execute these sub-requests in a predetermined order, thereby ensuring that the physical infrastructure is configured to meet a user-specified final state, for example, through a workflow sub-module. The orchestrator module can communicate with multiple modules to achieve efficient orchestration and execution of tasks across infrastructure.
[0059] According to one embodiment, the technology may include a computing resource manager module responsible for manipulating computing resources according to instructions from an orchestrator. This computing resource manager module can manage the lifecycle of computing resources, including the startup process and resource allocation, thereby improving the overall efficiency of the infrastructure management process.
[0060] According to one embodiment, the technology may further include a data synchronization submodule for ensuring continuous updates to the inventory of computing resources. This data synchronization submodule can synchronize data between the physical infrastructure and the system's internal database, thereby enabling real-time visibility and management of available resources.
[0061] According to one implementation, the technology may also include a proxy module that exposes the API architecture to external users. This data synchronization can facilitate interaction with the system from outside the control plane, thereby improving the flexibility and accessibility of managing infrastructure resources.
[0062] According to one implementation, this technology can be applied to multiple fields, including cloud computing, data center management, and enterprise IT infrastructure. It can provide organizations with a robust framework to efficiently manage their physical resources while minimizing operational complexity and enhancing user experience.
[0063] More specifically, such as Figure 1 , Figure 2 , Figures 7 to 10 As shown, and according to one embodiment, the present technology relates to a computer system 100 configured to manage components of a physical infrastructure 200, preferably, the computer system managing based on user requests. The physical infrastructure 200 may include multiple components, such as computing resources 210 (e.g., servers), a network 220, and storage devices 230. The system 100 is advantageously configured to efficiently manage and configure these components in response to user-defined needs.
[0064] According to one implementation, orchestrator module 110 is configured to receive a request from a user. Preferably, the request contains a descriptive model of a desired or predetermined final state of physical infrastructure 200. The request is advantageously structured to be converted into a set of sub-requests that can be used to configure and / or manage components of physical infrastructure 200 to achieve the predetermined final state. Orchestrator module 110 executes each sub-request in a desired or predetermined order, which is preferably determined based on the descriptive model provided in the user request.
[0065] According to one implementation, orchestrator module 110 utilizes workflow submodule 111 to determine a predetermined order of execution of sub-requests. Workflow submodule 111 can analyze dependencies and priorities between requests to ensure the configuration process is efficient and logical. Orchestrator module 110 can also be configured to communicate with multiple modules and / or submodules, thereby facilitating orchestration between different components of the system.
[0066] According to one implementation, orchestrator module 110 is configured to act as an orchestrator for various infrastructure-related APIs. Preferably, orchestrator module 110 is configured to simplify the consumption of physical infrastructure resources by providing a unified access point for product units to interact with the underlying system.
[0067] As described below, when a user request is received, the orchestrator module 110 orchestrates the necessary calls to multiple APIs (i.e., modules and / or submodules), including the compute resource manager module 120 (also known as the bare metal API) and the network service manager module 140 (also known as the network service API), to meet the user's needs.
[0068] Preferably, the orchestrator module 110 operates asynchronously, meaning that when a client submits a request, it receives a task identifier to track the status of the operation, which is processed in the background.
[0069] As described below, this technology maintains an inventory of computing resources, ensuring that only reserved servers are stored, while available servers are managed through the data synchronization submodule 112. This architecture enables efficient resource management and minimizes the complexity faced by users, as they interact with abstract primitives rather than the complexities of the underlying infrastructure.
[0070] Furthermore, the orchestrator module 110 is secured through a microservice gateway that enforces authentication and authorization checks, ensuring that only registered users can access specific routes and perform actions on the infrastructure. This layered security model enhances the overall integrity of the technology while facilitating seamless interaction between internal users and the infrastructure.
[0071] According to one implementation, this technology includes a security model configured to ensure that all interactions with the orchestrator module 110 are authenticated and authorized. Preferably, each request to the orchestrator module 110 is protected by a microservice gateway that uses a token-based system to authenticate the client. The token grants access permissions to specific routes and actions based on a predefined access control list.
[0072] Preferably, this technology employs a multi-layered architecture, performing authentication and authorization checks at different levels to ensure that only authorized users can manage resources. Furthermore, this technology can be configured to support "friendship" relationships between tenants, thereby enabling controlled resource sharing while maintaining strict access control.
[0073] In fact, according to one implementation, this technology can be configured to implement a predetermined tenant model. Preferably, this tenant model is based on a resource pooling model strategy, where resources are isolated from each other across different tenants. Each tenant is represented by a unique token ID that controls access to resources and actions within the physical infrastructure. This model allows for a hierarchical structure, enabling tenants to establish "friendship" relationships and thus share resources under specific conditions. Advantageously, this technology ensures that each tenant's data is stored in a separate table indexed by its identifier, thereby maintaining data integrity and isolation.
[0074] According to one implementation, from the perspective of orchestrator module 110, a tenant or user is not defined as an organization or team, but rather as the identity of the caller, represented by a microservice gateway token ID. For example, a single product unit may have multiple automata that interact with orchestrator module 110, each with its own token ID; therefore, from the perspective of orchestrator module 110, entities associated with these automata (such as servers and networks) are considered to belong to different tenants.
[0075] According to one implementation, the compute resource manager module 120 is configured to receive sub-requests from the orchestrator module 110. The compute resource manager module 120 may be configured to manage the compute resources 210 of the physical infrastructure 200. Preferably, the compute resources 210 are listed in a compute resource list provided by the data synchronization submodule 112. Preferably, the compute resources include servers.
[0076] The compute resource manager module 120 can also be configured to send a startup script for a given compute resource 210 to the startup script manager submodule 113. This startup script is then used to start the given compute resource 210 over the network 220, thereby enabling remote management and configuration.
[0077] According to one embodiment, the inventory manager module 130 is configured to receive sub-requests from the orchestrator module 110 to check the inventory of computing resources. This inventory advantageously contains data about multiple computing resources, thereby enabling efficient tracking and management. The inventory manager module 130 is preferably configured to send relevant data back to the orchestrator module 110 based on the received sub-requests. Furthermore, the inventory manager module 130 can manage the inventory of computing resources, receive data from the synchronization sub-module 112, and process requests from the computing resource manager module 120. Preferably, the inventory manager module 130 is configured to send necessary data to the computing resource manager module 120 to execute specific commands.
[0078] According to one implementation, the network service manager module 140 is configured to receive sub-requests from the orchestrator module 110. The network service manager module 140 can be configured to manage network resources of the physical infrastructure 200, particularly physical ports. For example, it can operate similarly to the compute resource manager module 120 (also known as the bare metal API (BMAPI)), but with a focus on network resources rather than compute resources. The network service manager module 140 preferably utilizes components such as a network service orchestrator (NSO) to efficiently manage network devices and software gateways.
[0079] In summary, the computer system 100 integrates multiple modules that work together to manage and / or control various components of the physical infrastructure 200 according to user requests. Each module has a specific function and interconnection method, thereby facilitating the overall operation of the system and ensuring that user-defined configurations are executed efficiently and accurately.
[0080] According to one implementation, the orchestrator module 110 can be configured to enhance security by verifying user authorization. This feature ensures that only registered users can submit requests to manage the components of the physical infrastructure 200. By implementing this check, this technique can prevent unauthorized access, thereby protecting sensitive operations and data.
[0081] According to one implementation, the list of authorized users can be managed dynamically. This allows users to be added or removed based on evolving organizational needs. This flexibility contributes to efficient user management and ensures that access control always meets current operational requirements.
[0082] According to one implementation, the verification process can be seamlessly integrated into the request processing workflow of the orchestrator module 110. This integration simplifies operations by ensuring that user authorization is checked before further processing of requests. Therefore, this reduces the risk of processing invalid or malicious requests, thereby enhancing the overall integrity of the system.
[0083] According to one implementation, the data synchronization submodule 112 is configured to populate an inventory of computing resources. This function ensures that the inventory remains up-to-date with the latest information regarding the available computing resources 210 within the physical infrastructure 200. By maintaining an accurate inventory, the system can facilitate efficient resource management and allocation.
[0084] According to one implementation, the data synchronization submodule 112 can utilize an automated process to collect and update data from various components of the physical infrastructure 200. This automation can reduce the probability of human error and increase the speed of inventory updates. Therefore, users can access real-time information about resource availability, thereby improving decision-making and operational efficiency.
[0085] According to one implementation, the synchronization process may include continuous monitoring of physical infrastructure 200, for example, to detect changes in the status of computing resources 210. This capability enables the technology to reflect any additions, removals, or modifications in the inventory in a timely manner. Therefore, users can rely on the inventory to provide accurate and up-to-date data, which contributes to effective resource planning and utilization.
[0086] According to one implementation, the data synchronization submodule 112 can facilitate integration with other modules within the system. By ensuring that the inventory is always populated with accurate data, it can enhance the overall functionality of the orchestrator module 110 and other management components. This interconnectivity can improve the orchestration between various system functions, ultimately leading to a more streamlined and efficient infrastructure management process.
[0087] According to one implementation, the data synchronization submodule 112 can also achieve seamless integration with external systems and components. This capability facilitates the exchange of data and operational commands between the physical infrastructure 200 and other systems, such as cloud services or management platforms. This integration can enhance the overall functionality of the infrastructure, thereby enabling more comprehensive management and control.
[0088] According to one implementation, the synchronization function can help improve resource allocation and utilization within the physical infrastructure 200. By maintaining an accurate inventory of available resources, the system can optimize the deployment of computing resources, network devices, and storage solutions based on real-time demand. This dynamic resource management can save costs and improve performance.
[0089] According to one implementation, the data synchronization submodule 112 can also provide a robust framework for monitoring and auditing changes within the physical infrastructure 200. This functionality allows administrators or users to track modifications made to components, ensuring compliance with operational policies and standards. Enhanced visibility into the infrastructure's status can facilitate better decision-making and risk management.
[0090] According to one implementation, the technology may include a proxy module 150 that acts as an intermediary between the user and the physical infrastructure 200. The proxy module 150 can facilitate user interaction by providing a clear representation of the underlying architecture. By abstracting the complexity of the physical components, the proxy module enhances the user experience and accessibility.
[0091] According to one implementation, the agent module 150 can present the architecture in a user-friendly format, enabling users to visualize the relationships and configurations between various components in the physical infrastructure 200. This visualization helps in understanding the system's layout and operational dynamics, thereby improving the decision-making process.
[0092] According to one implementation, the proxy module 150 can also enhance security by controlling access to the physical infrastructure 200. By acting as a controlled access point, it can restrict direct interaction with sensitive components, thereby reducing the risk of unauthorized modification or configuration.
[0093] According to one implementation, the agent module 150 can support various user roles and permissions, thereby enabling customized access to infrastructure information. This feature ensures that users only see data relevant to their responsibilities, thereby improving operational efficiency and maintaining data integrity.
[0094] According to one implementation, the system can support various computing resources, namely server types, including dedicated servers and dedicated devices. This versatility can meet a variety of application needs, thereby providing users with customized solutions that meet specific performance and resource requirements.
[0095] According to one embodiment, this technology relates to a computer-implemented method for manipulating components of physical infrastructure. The method is configured to be executed by a system as described above.
[0096] According to one implementation, the method includes a preparatory step in which a user assigns multiple Internet Protocol (IP) addresses. This assignment is performed by an Internet Protocol address management module 160. Including this step improves the overall efficiency of the system by ensuring that the IP addresses required for subsequent operations are always available.
[0097] According to one implementation, allocating IP addresses before receiving user requests simplifies the processing flow. By pre-allocating these addresses, the orchestrator module 110 can quickly allocate them to computing resources as needed, thereby reducing latency and improving the response speed to user requests.
[0098] According to one implementation, the Internet Protocol address management module 160 can provide a centralized interface for managing IP addresses. This centralization simplifies the address tracking and allocation process, minimizes the risk of conflicts, and ensures efficient use of resources.
[0099] According to one implementation, this method can enhance the flexibility of network configuration. By allowing users to pre-assign multiple IP addresses, the system can adapt to various networking scenarios, such as creating virtual network interface cards or constructing complex network topologies.
[0100] According to one implementation, this approach can also improve resource management. By integrating IP address allocation into the workflow, the system can maintain an ordered inventory of available addresses, thereby facilitating better planning and allocation strategies for future network expansion or modifications.
[0101] According to one implementation, the method may further include the step of selecting an IP address from a plurality of allocated IP addresses. Selecting an IP address can improve network operating efficiency. By allowing dynamic allocation of IP addresses, this method can reduce the likelihood of address conflicts and improve overall network performance. This can provide more reliable connections for reserved computing resources.
[0102] According to one implementation method Figure 8 The diagram illustrates the consumption of physical infrastructure by a product unit or user using the previously described orchestrator module 110, as well as the computing resource manager module 120, inventory manager module 130, and network service manager module 140.
[0103] According to one implementation method, Figure 9 An example of building a tenant-defined security model is shown using the orchestrator module 110 and the compute resource manager module 120.
[0104] According to one implementation method, and as follows Figure 3 and Figure 4 As shown, the method includes: ● The data synchronization submodule 112 maintains the computing resource inventory in the computing resource manager module 120, wherein, preferably, each computing resource 210 (i.e., server) has a unique identifier; ● The orchestrator module 110 receives 301 requests from users for creating a virtual network interface card (vNIC) 121, wherein, preferably, the virtual network interface card 121 is defined as an object describing a connection on the dedicated computing resource 210; ● Create 302 Virtual Network Interface Card 121; ● The orchestrator module 110 receives 303 requests from users for creating network objects. Preferably, the network object models the connectivity of computing resources, thereby enabling the virtual network interface card 121 to be connected to the virtual machine rack; ● The orchestrator module 110 instructs the network service manager module 140 to create the requested network object; ● The network object requested by 304 is created by the network service manager module 140, and the requested network object is confirmed to the orchestrator module 110 by the confirmation message; ● The user selects a Quality of Service (QoS) policy 305 using the orchestrator module 110, wherein the QoS policy includes, for example, characteristics of computing resources; ● The user requests the orchestrator module 110 to reserve and / or configure computing resources 210 with the created virtual network interface card 121 and the selected quality of service policy; ● The orchestrator module 110 requests a list of computing resources to be allocated to the user from the computing resource manager module 120; ● The computing resource list provided by the data synchronization submodule 112 is returned to the orchestrator module 110 by the computing resource manager module 120; ● The orchestrator module 110 selects 307 computing resources 210 for the user from the allocated computing resource list according to a set of predetermined rules, such as minimum number of cores, amount of RAM within a given range, and priority of the oldest server. ● The orchestrator module 110 requests the physical port of the selected computing resource 210 from the network service manager module 140; ● The network service manager module 140 returns the physical port of the selected computing resource 210 to the orchestrator module 110; ● The orchestrator module 110 instructs the 308 network service manager module 140 to configure the physical ports of the selected computing resource 210 and create a port aggregation, wherein the port aggregation is a virtual object that includes physical ports, virtual network interface cards 121 and quality of service policies. ● The orchestrator module 110 requests information from the network service manager module 140 about the top-of-rack ToR switch associated with the selected computing resource 210; ● The orchestrator module 110 receives the requested rack top information from the network service manager module 140; ● The orchestrator module 110 notifies the user 309 that the computing resource 210 has been reserved and configured with the required characteristics, including providing a reservation identifier (ID), thereby allowing the reservation to be updated or released.
[0105] According to one implementation, the orchestrator module 110 is configured to receive an initial request from a user for creating an Internet Protocol (IP) object. This step allows the user to specify their requirements for the IP object, thereby ensuring that the system can customize the object according to specific connectivity needs.
[0106] According to one implementation, the orchestrator module 110 is configured to instruct the network service manager module 140 to create an Internet Protocol object.
[0107] In one implementation, the network service manager module 140 is configured to create an Internet Protocol object. This process ensures that the object is generated according to the parameters set in the initial request.
[0108] According to one implementation, the orchestrator module 110 is configured to receive confirmation information from the network service manager module 140 to confirm that an Internet Protocol object (IPA) has been created. This confirmation step provides a feedback loop, enabling the orchestrator module 110 to verify whether the request was successfully executed and to continue subsequent operations based on the newly created IPA. This improves reliability and ensures that the system 100 maintains the accurate state of its resources.
[0109] According to one implementation, the virtual network interface card 121 can be associated with an Internet Protocol object (IPA). This association enhances network management and configuration, enabling the virtual network interface card 121 to utilize a specific IP address dynamically assigned to it.
[0110] According to one implementation, this association facilitates the automatic configuration of network resources. When a user requests the creation of a virtual network interface card 121, the system can automatically reference the associated Internet Protocol object to assign an appropriate IP address. This reduces the possibility of human error during configuration and ensures that the virtual network interface card 121 operates without manual intervention.
[0111] According to one implementation, this technology can support advanced network functions, such as Quality of Service (QoS) policies. By associating Internet Protocol objects with port aggregations, this method can implement QoS measures that prioritize traffic based on specific criteria, thereby optimizing network performance and user experience.
[0112] According to one implementation, the method may further include the following step: the orchestrator module 110 receiving a request from a user for creating an additional virtual network interface card 122.
[0113] According to one implementation, the additional virtual network interface card 122 is associated with a previously created network object. This association facilitates seamless integration with the existing network architecture, ensuring that the new virtual network interface card can utilize the configuration and attributes of the network object, thereby improving operational efficiency.
[0114] According to one implementation, the orchestrator module 110 can effectively manage the lifecycle of virtual network interface cards 121 and / or 122. This functionality can include monitoring, updating, and disabling virtual network interface cards as needed, thereby ensuring optimal resource utilization and performance within the physical infrastructure 200.
[0115] According to one implementation, the method may include port aggregation, which contains network objects. This integration allows for simplified management of network resources, facilitating the connection of multiple physical ports to a single logical entity.
[0116] According to one implementation, including network objects in port aggregations can provide a unified interface for managing connectivity. This reduces the complexity of handling individual ports, thereby minimizing the possibility of configuration errors. This approach allows users to manage network resources more efficiently, thereby improving operational performance.
[0117] According to one implementation, this method can also support advanced monitoring and analysis capabilities. By integrating network objects into port aggregation, it can provide a comprehensive view of network performance metrics. This facilitates proactive management and troubleshooting, ultimately improving the reliability and uptime of network services.
[0118] According to one implementation, the method allows a user to select or create a Quality of Service (QoS) policy. By allowing user participation in the selection or creation of QoS policies, the method can be customized to specific application requirements and user preferences.
[0119] According to one implementation, users can create at least a portion of a Quality of Service (QoS) policy, facilitating customization. This flexibility improves resource allocation and management, ensuring efficient utilization of computing resources based on user operational needs.
[0120] According to one implementation, this method can support dynamic adjustment of QoS policies based on real-time feedback from the system. This adaptability ensures that computing resources continuously adapt to changing user demands and network conditions, thereby maintaining optimal performance levels.
[0121] According to one implementation, the method may include the step of the orchestrator module 110 confirming to the user that the requested network object has been successfully created. This feature enhances the user experience by providing immediate feedback on the status of the request, thereby increasing user satisfaction and trust in the system.
[0122] According to one implementation, this confirmation step can facilitate better communication between the system and the user.
[0123] According to another embodiment, the present technology relates to a computer system configured to perform operations on components of a physical infrastructure in response to requests from a user.
[0124] According to this embodiment and as follows Figure 5 , Figure 7 , Figure 11 and Figure 12 As shown, system 400 includes: ● Computational resource manager module 120 as described above, wherein the computational resource manager module 120 is configured to: i. Receive requests from users, preferably via the orchestrator module 110; ii. Manage the computing resources 210 of the physical infrastructure 200, which are listed in a computing resource list provided by the data synchronization submodule 112; iii. Send the startup script for the given computing resource to the startup script manager submodule 113, the startup script being configured to allow the given computing resource 210 to start over the network; iv. Send a request to the inventory manager module 130; v. Receive data from Inventory Manager module 130; vi. To perform multiple actions; ● As described above, the inventory manager module 130 is configured to: i. Manage the inventory of computing resources for the physical infrastructure 200; ii. Receive data from synchronization submodule 112; iii. Receive requests from the Computing Resource Manager module 120; iv. Send the data (preferably the necessary data) to the computing resource manager module 120 to execute the command.
[0125] According to one implementation, the Compute Resource Manager module 120 (also known as the Bare Metal API (BMAPI)) may contain a sophisticated framework designed to facilitate the management and orchestration of bare metal servers in cloud infrastructure. Preferably, the Compute Resource Manager module 120 acts as a bridge between this technology and a traditional bare metal control plane, ensuring seamless integration and functionality.
[0126] According to one implementation, a robot or module refers to an automated software component designed to perform specific tasks within a system. These robots or modules interact with various APIs to perform operations such as reserving servers, managing network configurations, and updating server status. They facilitate the automation of workflows, ensuring efficient and consistent operation without human intervention. Examples include one robot for reserving and preparing bare-metal servers and another for synchronizing data between databases.
[0127] According to one implementation, the computing resource manager module 120 may include multiple modules or sub-modules (also referred to as robots), including at least: ● The main interface is configured to expose generic and abstract bare metal primitives. It provides HTTP routing for various operations, including server inventory management, factory reset, operating system installation, and server restart. The main interface can be configured to run across multiple availability zones to ensure resource availability and redundancy.
[0128] ● Traditional Todo API: This module is configured to allow the creation and retrieval of Todo entries in a traditional database, enabling interaction with existing bots without major modifications.
[0129] ● Mapping Module: This module is configured to act as a service registry, providing configuration and status information such as endpoint URLs and availability zone migration status.
[0130] ● If a robot is used as the consumer, it can be configured to automatically reserve and prepare bare metal servers for delivery. It interacts with the orchestrator module 110 to identify unreserved servers, create the necessary network objects, and update the server status to "connected" or "reserved." This simplifies the server configuration process, ensuring efficient resource allocation and readily available availability.
[0131] ● The data consistency monitoring module can be configured to ensure that all servers marked as "delivered" in the traditional database also exist in the orchestrator module database. Preferably, the module should trigger an alarm when a discrepancy is detected, such as a delivered server not being listed in the orchestrator module 110, or a server being in a "standby" state for an extended period.
[0132] According to one implementation, this technology employs a robust security model, which includes: ● Authentication and Authorization: Users must be authenticated and authorized to interact with the Compute Explorer module 120. This technology maintains a list of authorized users to ensure that only users with appropriate permissions can execute requests.
[0133] ● Access Control List: The microservice gateway implements access control lists to control access to the various components of the compute resource manager module 120, ensuring that users can only perform operations permitted by their roles. Preferably, the microservice gateway should be configured to control all interactions between different modules from a security perspective; ● Data Integrity: This technology includes mechanisms to verify the integrity of data and operations, prevent unauthorized modifications, and ensure that all actions are recorded and traceable.
[0134] ● The data synchronization submodule 112 is configured to facilitate data synchronization between the Compute Resource Manager module 120 database and the traditional bare metal control plane database. The data synchronization submodule 112 is configured to ensure that the Compute Resource Manager module 120 maintains an accurate and up-to-date inventory of computing resources, thereby making it a single source of truth for, for example, all bare metal servers.
[0135] According to one implementation, one of the main functions of the data synchronization submodule 112 is to initialize and periodically update the database of the compute resource manager module 120 using relevant data from legacy systems. This process involves executing a series of scheduled tasks (also known as cron jobs), each tailored to a specific synchronization requirement. For example, the SERVER_SYNC job is responsible for adding standard servers to the inventory of the compute resource manager module 120, while the FLAVOR_SYNC job manages the addition of new types. The ASSET_SYNC job focuses on integrating asset servers that are part of a predetermined control plane, such as servers not intended for customer use.
[0136] According to one implementation, the SERVER_SYNC cron job is a component of the data synchronization submodule 112, responsible for maintaining the integrity and accuracy of the server inventory in this technology. This job adds standard servers to the inventory of the compute resource manager module 120 based on entries in a traditional database. As previously mentioned, the behavior of SERVER_SYNC depends on the Actinium migration status and the type of server being processed. For dedicated servers, if the compute resource manager module endpoint is not active, the job updates the status of benched servers to "connected" or "reserved" via the bench2delivery API, a service specifically designed to manage the delivery status of servers in the infrastructure. It facilitates the transition of servers from a "benched" state to "connected" or "reserved." This API ensures that the server delivery status is correctly updated, thereby enabling efficient server management and deployment processes. Conversely, if the endpoint is active and the migration has not yet started, all servers in states such as "connected," "reserved," "hacked," or "delivered" are added to the inventory of the Compute Resource Manager module 120, while the inventory of shelved servers continues to be updated. Preferably, SERVER_SYNC should avoid making any changes during the migration. Advantageously, once the migration is complete, it adds all shelved server-associated network objects to the inventory after cleaning them up, ensuring that server types and states are accurately reflected. This systematic approach ensures that the Compute Resource Manager module 120 maintains an up-to-date and reliable server inventory, enabling efficient resource management and allocation.
[0137] According to one implementation, the ASSET_SYNC cronjob's task is to integrate asset servers into the Compute Resource Manager module's inventory, focusing specifically on servers that belong to a predetermined control plane and are not available to clients. This job can run independently, ensuring that any newly discovered servers from that particular control plane are added to the Compute Resource Manager module's inventory in a timely manner.
[0138] According to one implementation, for example, the UPDATE_IPXE_URL cron job is configured to manage the script URL configuration of the startup script manager submodule 113 used by the bare metal server during startup. Preferably, the job does not perform any updates when the migration is in the "not started" phase. However, during the "in progress" and "completed" phases of the migration, UPDATE_IPXE_URL is configured to proactively update the URLs where the server looks for its startup scripts, thereby ensuring that the correct scripts can be accessed for startup. This process helps maintain the operational readiness of the bare metal server because it allows startup scripts tailored to the specific needs of each server to be dynamically provided.
[0139] According to one implementation, UPDATE_IPXE_URL is configured to allow updating the URL of each server in a legacy system or database so that each server can retrieve its startup script from it.
[0140] In summary, the data synchronization submodule 112 is configured to ensure that this technology remains synchronized with legacy infrastructure.
[0141] Advantageously, the Compute Resource Manager module 120 states that it significantly improves the management of bare-metal servers in cloud infrastructure. By abstracting the complexity of physical resource management and providing a robust framework for integration with traditional systems, the Compute Resource Manager module 120 enables organizations to efficiently use and manage their infrastructure resources.
[0142] According to one implementation, system 400 can be configured to perform various power management tasks. These tasks may include restarting computing resources, thereby allowing the system state to be refreshed and updates to be applied.
[0143] According to one implementation, system 400 can be configured to easily install an operating system according to user preferences. This feature allows for disk partitioning of computing resources, thereby enabling optimized storage management and customized configuration. This flexibility can improve resource utilization and meet specific user needs.
[0144] According to one implementation, system 400 can be configured to provide the ability to open a remote console for debugging. This feature allows administrators to troubleshoot problems in real time, thereby accelerating problem resolution and minimizing downtime. Remote access improves operational efficiency by allowing immediate intervention without physical presence.
[0145] According to one implementation, system 400 can also be configured to perform rescue tasks, which may include creating, loading, and / or updating rescue images. This feature ensures that reliable recovery options are always available, thereby enhancing system resilience. The ability to update rescue images keeps recovery options up-to-date with the latest system configuration and security patches.
[0146] According to one implementation, system 400 can also be configured to allow maintenance of hardware components, whether planned or unplanned. This can extend the lifespan of the hardware, reduce the likelihood of failure, and ensure optimal performance. Regular maintenance can also save costs by avoiding major repairs or replacements.
[0147] According to one implementation, system 400 can be configured to manage firmware security tasks, such as updating firmware. This functionality enhances the security posture of computing resources by ensuring that all components are running the latest firmware version (e.g., potentially including critical security patches and performance improvements). Keeping firmware updated reduces vulnerability risks and protects them from potential threats.
[0148] According to one implementation, system 400 may further include a verification management module 170 specifically configured to verify the integrity of the computing resource startup process. Verification management module 170 can measure and analyze platform configuration register (PCR) values, which help establish a secure startup environment. By evaluating these values, system 400 can ensure that the startup process has not been compromised.
[0149] According to one implementation, verification of PCR values can provide a robust mechanism for detecting unauthorized modifications or tampering during sequence startup. This functionality enhances the overall security posture of computing resources by ensuring that only trusted and verified components are loaded during startup.
[0150] According to one implementation, including the verification management module 170 can help improve the credibility of system integrity. By continuously monitoring and verifying the startup process, system 400 can assure users and administrators that computing resources are operating securely and reliably. This is particularly advantageous in security-critical environments, such as cloud computing or sensitive data processing applications.
[0151] According to one implementation, system 400 may further include a self-encrypting disk inventory module 180, configured to manage and / or track multiple self-encrypting drives (SEDs) within physical infrastructure 200. This feature allows for centralized oversight of all SEDs, ensuring that each drive is logged and monitored throughout its lifecycle. The ability to manage multiple drives simultaneously can improve operational efficiency and reduce the risk of data loss.
[0152] According to one implementation, the self-encrypting disk inventory module 180 can store and manage the Physical Security Identifier (PSID) of the SED and its associated key. This function ensures that critical security information is securely maintained and accessible whenever needed. By managing the PSID, the system 400 is configured to facilitate the secure initialization and configuration of the SED, thereby enhancing the organization's overall security posture.
[0153] According to one implementation, the integration of a self-encrypting disk inventory module enables seamless and efficient local disk encryption management. This feature allows organizations and / or users to consistently enforce encryption policies across all SEDs, thereby ensuring compliance with data protection regulations. Simplified encryption process management reduces administrative overhead and improves an organization's responsiveness to security threats.
[0154] According to another embodiment, the present technology relates to a computer-implemented method for performing actions on components of physical infrastructure 200 based on requests from users. Preferably, the method is configured to be executed by system 400.
[0155] According to this embodiment and as follows Figure 5 As shown, method 500 includes: ● The Computing Resource Manager module 120 receives a 501 request from the user for executing a command; ● The Computational Resource Manager module 120 sends a 502 request to the Inventory Manager module 130 to check the validity of the user request; ● When the inventory manager module 130 verifies a user request: o BMAPI receives 503 confirmation from Inventory Manager Module 130; o By initiating a predetermined workflow, at least the compute resource manager module 120 executes the 504 command.
[0156] According to one implementation, the method may include installing a new operating system on computing resources. This feature allows for flexible updates or changes to the operating system as needed.
[0157] According to one implementation, the installation process can be performed based on a predetermined disk partitioning scheme. This scheme can optimize disk space allocation. By defining specific partitions, method 500 can better organize data and applications, thereby improving system management.
[0158] According to one implementation, method 500 is configured to simplify the deployment process of new computing resources. By automatically installing the operating system according to a predetermined scheme, method 500 can reduce the time and effort required for manual installation, thereby improving operational efficiency.
[0159] According to one implementation, the predetermined workflow may include the following sub-steps: ● Reboot computing resource 210 in rescue mode using the power management submodule; this function helps to restore operation by allowing the system to enter a state in which critical diagnostics and repairs can be performed without interference from the main operating system. ● The computing resource 210 sends a request for startup data to the startup script manager submodule 113; this function can enhance the flexibility of the startup process by retrieving specific startup configurations tailored to the needs of the computing resource. ● The computing resource 210 receives startup data from the startup script manager submodule 113; this function ensures that the computing resource is equipped with the most suitable and updated startup parameters, thereby improving the reliability and efficiency of the startup process; ● The Computing Resource Manager module 120 sends a request to the Inventory Manager module 130 for information about the characteristics of the computing resource 210; this interaction can provide real-time insights into the resource specifications, thereby enabling informed decisions during the installation process. ● The computing resource manager module 120 receives information about the characteristics of the computing resource 210 from the inventory manager module 130; this function can improve the accuracy of resource management by ensuring that the computing resource manager module 120 can access the latest data on resource functions and limitations. ● Connect the Compute Resource Manager module 120 to the Compute Resource 210 to allow drive writing; this function allows for easy direct modification of the storage drive, enabling the installation of new software or updates as part of the operational workflow. ● Install the new operating system onto computing resource 210 according to the predetermined drive partitioning scheme; this function optimizes the utilization of storage resources by ensuring that the operating system is installed in a manner that meets the specific requirements of the computing environment. ● Reboot computing resource 210 on the new operating system using the power management submodule.
[0160] According to one implementation, method 500 may include updating the firmware of computing resource 210. This feature ensures that computing resource 210 operates with the latest firmware, thereby improving performance, security, and compatibility with other system components.
[0161] According to one implementation, method 500 may include launching computing resource 210 on a network. This feature allows remote access to the firmware update process, thus enabling updates to be completed without physical access to the hardware. It can simplify maintenance operations and reduce downtime.
[0162] According to one implementation, the computing resource manager module 120 can check for available firmware updates. This proactive monitoring function ensures that the computing resource 210 is always up-to-date with the latest firmware version, thereby reducing vulnerability risks and improving system stability.
[0163] According to one implementation, method 500 can be configured to update the firmware accordingly when an update is available. This automated process is completely transparent to the user, minimizing the risk of human error during the update process and ensuring that computing resources benefit from enhancements and fixes provided by firmware developers.
[0164] According to one implementation, method 500 may include restarting the operating system of the computing resource after a firmware update. This step makes the new firmware effective, thereby ensuring that the computing resource can operate optimally using the updated software.
[0165] Unless otherwise stated herein or the context clearly specifies otherwise, the term “approximately” when used to modify numerical quantities implies a margin of error of plus or minus ten percent. Unless otherwise stated herein or the context clearly specifies otherwise, “between two numerical values” should be understood as “between and including both numerical values”.
[0166] This specification includes specific details to provide an understanding of the various disclosed implementations. However, those skilled in the art will recognize that these implementations can be put into practice even without one or more of these specific details, parts of the methods, components, materials, etc.
[0167] In this specification and the appended claims, the terms "a," "an," "one," or "another" used to describe "implementation," "example," or "mode of implementation" are used to mean that a specific reference feature, structure, or characteristic described in relation to that implementation, example, or mode of implementation is included in at least one implementation, example, or mode of implementation. Therefore, phrases such as "in one implementation," "in an implementation," or "another implementation" do not necessarily refer to the same implementation. Furthermore, specific features, structures, or characteristics may be combined in any suitable manner in one or more implementations, examples, or modes of implementation.
[0168] As used in this specification and the appended claims, the singular forms of articles such as “a,” “an,” and “a” may include plural references unless the context otherwise requires. Unless the context otherwise requires, the word “comprising” and its variations, such as “including” and “containing,” shall be interpreted in an open, inclusive sense, meaning “including but not limited to.”
[0169] Modifications and improvements to the above-described implementation of this technology will be apparent to those skilled in the art. The above description is intended to be exemplary and not restrictive. Therefore, the scope of this technology is limited only by the scope of the appended claims.
Claims
1. A computer-implemented system (400) configured to perform actions on components of a physical infrastructure (200) based on requests from a user, the physical infrastructure (200) including a plurality of components including computing resources (210), a network (220), and storage devices (230), the system (400) including at least the following: a. A compute resource manager module (120), the compute resource manager module being configured to: i. Receive a request from the user; ii. Manage computing resources (210), which are listed in a computing resource list provided by the data synchronization submodule (112); iii. Send the startup script of the given computing resource to the startup script manager submodule (113), the startup script being configured to allow the given computing resource (210) to start over the network; iv. Send a request to the inventory manager module (130); v. Receive data from the inventory manager module (130); b. The inventory manager module (130), the inventory manager module is configured to: i. Manage the inventory of computing resources of the physical infrastructure (200); ii. Receive data from the synchronization submodule (112); iii. Receive a request from the computing resource manager module (120); and iv. Send the data to the computing resource manager module (120) to execute the command.
2. The system (400) according to the preceding claim, wherein, The plurality of actions includes at least one of the following actions: a. Power management tasks, wherein the power management tasks include: i. Restart computing resources; b. Operating system installation based on the user's choice of operating system; c. Partition the disk of the computing resources according to the selected operating system; d. Open the remote console for debugging; e. Rescue mission, the rescue mission including: i. Create rescue images; ii. Load rescue images; iii. Update rescue images; f. Maintenance of hardware components; and g. Firmware security tasks, wherein the firmware security tasks include: i. Update firmware.
3. The system (400) according to any one of the preceding claims, further comprising an arranger module (110) configured to: a. Receive a request from the user, the request containing a descriptive model of the final state of the physical infrastructure (200); b. Generate a set of sub-requests based on the request, the set of sub-requests being associated with instructions for configuring a set of components of the physical infrastructure (200) to bring the physical infrastructure (200) into the final state; c. Execute each of the set of sub-requests in a predetermined order determined based on the description model of the request.
4. The system (400) according to any one of the preceding claims, further comprising a proof management module (170) configured to verify the integrity of the computing resource startup process by measuring and analyzing platform configuration register values.
5. The system (400) according to any one of the preceding claims, further comprising a self-encrypting disk inventory module (180), the self-encrypting disk inventory module being configured to: a. Managing and tracking multiple self-encrypting drives within the organization; b. Store and manage the physical security identifier and associated keys of self-encrypting drives, thereby enabling seamless and efficient local disk encryption management.
6. The system (400) according to any one of the preceding claims, wherein, The computing resources (210) include servers.
7. A computer-implemented method (500) for performing actions on components of a physical infrastructure (200) based on a request from a user, the physical infrastructure (200) including a plurality of components, the plurality of components including computing resources (210), a network (220), and storage devices (230), the method (500) comprising: a. Receive (501) a request from the user for executing a command; b. Check the validity of the user's request; as well as c. After the user's request is verified, execute the command described in (504) to initiate the predetermined workflow.
8. The method (500) according to the preceding claim, wherein, The command includes installing a new operating system onto the computing resource (210) according to a predetermined disk partitioning scheme.
9. The method (500) according to the preceding claim, wherein, The predetermined workflow includes at least the following sub-steps: a. Restart the computing resource (210) in rescue mode; b. Receive startup data; c. Receive information about the characteristics of the computing resource (210); d. Based on the predetermined drive partitioning scheme and the boot data and received information, install the new operating system onto the computing resource (210); e. Restart the computing resources (210) on the new operating system.
10. The method (500) according to the preceding claim, further comprising the step of sending a request for startup data prior to the step of receiving startup data.
11. The method (500) according to any one of the preceding two claims, further comprising the step of sending a request for information regarding the characteristics of the computing resource (210) prior to the step of receiving information regarding the characteristics of the computing resource (210).
12. The method (500) according to any one of the preceding three claims, further comprising the step of connecting a computing resource manager module (120) to the computing resource (210) to allow drive writes before installing the new operating system to the computing resource (210).
13. The method (500) according to the preceding claim, wherein, The steps for verifying the installation process include sending information from the computing resource (210) to the computing resource manager module (120).
14. The method (500) according to any one of the preceding claims, further comprising updating the firmware of the computing resource (210), the firmware update comprising: a. Start the computing resources on the network (210); b. Use the computing resource manager module (120) to check the computing resources (210): i. When an update to the firmware of the computing resource (210) becomes available, update the firmware accordingly; as well as ii. Restart the computing resource (210) on the operating system of the computing resource (210), or directly load the operating system of the computing resource (210) without restarting.
15. A non-transitory computer-readable medium comprising instructions that, when executed by a processor, cause the processor to perform the method according to any one of claims 7 to 14.