System and method for generating backups using a composite system
By dividing resource sets in the information processing system and using system control processors and tracking volumes, data protection services are provided transparently without interrupting services, solving the problem of data loss caused by hardware failures and enhancing data security and reliability.
Patent Information
- Application Number
- CN202111437557.8
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Priority Date
- 2020-12-09
- Filing Date
- 2021-11-26
- Publication Date
- 2025-09-12
- Estimated Expiration
- 2041-11-26
AI Technical Summary
In the prior art, the services provided by computing devices are limited by hardware components, which makes data stored in the hardware devices prone to failure, resulting in data loss and corruption, and data protection services cannot be provided transparently without interrupting services.
By dividing the computing resources of the information processing system into computing resource sets, control resource sets and hardware resource sets, using the system control processor manager and tracking volume to achieve bare metal communication, generate data backup and store it in the storage body, and provide data protection services.
It achieves transparent provision of data protection services, including backup and recovery, without interrupting computer services, thus enhancing data security and reliability.
Smart Images

Figure CN114610528B_ABST
Abstract
Description
Background Art
[0001] A computing device may provide services. To provide services, a computing device may include hardware components and software components. The services provided by a computing device may be limited by these components. Summary of the Invention
[0002] In one aspect, a system for managing a composite information processing system according to one or more embodiments of the present invention includes an information processing system and a composite information processing system within the composite information processing system, wherein the composite information processing system includes at least one computing resource set, at least one control resource set, and at least one hardware resource set. The system further includes a system control processor that obtains a bare metal communication indicating a write of data from the computing resource set, writes a first copy of the data to a storage resource of the at least one hardware resource set, writes a second copy of the data to a tracking volume, generates a backup of the data using the tracking volume, and stores the backup in a storage volume.
[0003] In one aspect, a method for managing a composite information processing system according to one or more embodiments of the present invention includes obtaining, by a system control processor of the composite information processing system in the composite information processing system, bare metal communications indicating a write of data from a computing resource set, writing a first copy of the data to a storage resource of the at least one hardware resource set, writing a second copy of the data to a tracking volume, generating a backup of the data using the tracking volume, and storing the backup in a storage body.
[0004] In one aspect, a non-transitory computer-readable medium according to one or more embodiments of the present invention includes computer-readable program code that, when executed by a computer processor, enables the computer processor to perform a method for managing a composite information handling system. The method includes obtaining, by a system control processor of the composite information handling system in the composite information handling system, a bare metal communication indicating a write of data from a computing resource set, writing a first copy of the data to a storage resource of at least one hardware resource set, writing a second copy of the data to a tracking volume, generating a backup of the data using the tracking volume, and storing the backup in a storage volume. BRIEF DESCRIPTION OF THE DRAWINGS
[0005] Certain embodiments of the present invention will be described with reference to the accompanying drawings. However, the drawings only illustrate certain aspects or implementations of the invention by way of example and are not intended to limit the scope of the claims.
[0006] Figure 1.1 A diagram illustrating a system according to one or more embodiments of the present invention is shown.
[0007] Figure 1.2 A diagram illustrating an information handling system according to one or more embodiments of the present invention is shown.
[0008] Figure 2 A diagram illustrating local hardware resources according to one or more embodiments of the present invention.
[0009] Figure 3 A diagram of a system control processor is shown in accordance with one or more embodiments of the present invention.
[0010] Figure 4 A diagram illustrating a system control processor manager in accordance with one or more embodiments of the present invention is shown.
[0011] Figure 5.1 A flowchart illustrating a method for instantiating a composite information handling system based on a composite request according to one or more embodiments of the present invention is shown.
[0012] Figure 5.2 A flow chart illustrating a method of setting up a management service according to one or more embodiments of the present invention is shown.
[0013] Figure 5.3 A flowchart illustrating a method of performing data protection services according to one or more embodiments of the present invention is shown.
[0014] Figures 6.1 to 6.3 A diagram illustrating operation of an exemplary system over time in accordance with one or more embodiments of the present invention.
[0015] Figure 7 A diagram illustrating a computing device according to one or more embodiments of the invention is shown. DETAILED DESCRIPTION
[0016] Specific embodiments will now be described with reference to the accompanying drawings. In the following description, numerous details are set forth as examples of the present invention. Those skilled in the art will appreciate that one or more embodiments of the present invention may be practiced without these specific details, and that numerous changes or modifications may be possible without departing from the scope of the present invention. To avoid obscuring the description, certain details known to those of ordinary skill in the art have been omitted.
[0017] In the following description of the drawings, any component described with respect to a particular figure may, in various embodiments of the present invention, be equivalent to one or more similarly named components described with respect to any other figure. For the sake of brevity, the description of these components will not be repeated with respect to each figure. Therefore, each embodiment of the components of each figure is incorporated by reference and is assumed to be optionally present in each other figure having one or more similarly named components. Additionally, according to various embodiments of the present invention, any description of a component of a particular figure should be interpreted as an optional embodiment that can be implemented in addition to, in conjunction with, or in place of an embodiment described with respect to a corresponding similarly named component in any other figure.
[0018] Throughout this application, elements of the accompanying drawings may be labeled A through N. As used herein, the aforementioned labeling means that an element may include any number of items and does not require that an element include the same number of elements as any other item labeled A through N. For example, a data structure may include a first element labeled A and a second element labeled N. This labeling criterion means that a data structure may include any number of elements. A second data structure, also labeled A through N, may also include any number of elements. The number of elements of the first data structure and the number of elements of the second data structure may be the same or different.
[0019] Generally, embodiments of the present invention relate to systems, apparatus, and methods for providing computer-implemented services and data protection services using a composite information processing system. Providing computer-implemented services may require allocating computing resources for the execution of the services. Services may include, for example, processing resources, memory resources, storage resources, computing resources, and the like.
[0020] To allocate computing resources, a composite information processing system can be instantiated. A composite information processing system can be a device (whose components can be distributed across one or more information processing systems) that has exclusive access to a certain amount of computing resources. Computing resources from multiple information processing systems can be allocated to the composite information processing system, allowing the composite information processing system to utilize computing resources from any number of information processing systems to execute corresponding computer-implemented services.
[0021] To allocate computing resources, the system may include a system control processor manager. The system control processor manager may obtain a compound request. The compound request may indicate a desired result, such as, for example, executing one or more applications, providing one or more services, etc. The system control processor manager may convert the compound request into a corresponding amount of computing resources that need to be allocated to satisfy the intent of the compound request.
[0022] Once the amount of computing resources is obtained, the system control processor manager can allocate the information handling system's resources to meet the identified amount of computing resources by instructing the information handling system's system control processor to prepare to present the information handling system's hardware resource set to the information handling system's computing resource set.
[0023] Furthermore, during preparation of the hardware resource set, the system control processor manager may instruct the system control processor to manage the hardware resources in the hardware resource set and perform data protection services. The system control processor may identify and prepare tracking volumes to be used as part of providing the data protection services. However, when presenting the aforementioned resources to the computing resource set, the system control processor may present the resources as bare metal resources while managing them in a more sophisticated manner. The system control processor may exclude the presentation of tracking volumes to the computing resource set, thereby making the tracking volumes transparent to the computing resource set and entities executing on the computing resource set.
[0024] By doing so, embodiments of the present invention can utilize the system control processor and tracking volumes to provide data protection services without interrupting and / or hindering the execution of computer-implemented services provided by the computing resource sets and entities executing on the computing resource sets. Thus, even though the resulting composite information handling system control plane may be unaware of the implementation of the data protection services provided by the system control processor and tracking volumes, the composite information handling system can still operate in accordance with the data protection services, thereby providing a unified approach to managing data protection services for the composite information handling system.
[0025] Data protection services may include generating full backups, snapshots, incremental backups, differential backups, and other and / or additional types of backups, performing replication services, recovery services, point-in-time protection services (e.g., by replicating all data to a tracking volume), and other and / or additional data protection services that require access to data and changes to data generated during the lifecycle of an application without departing from the present invention. Thus, the unified approach allows a wide variety of data protection services to occur sequentially or in parallel transparently with respect to the system and using the tracking volume of the system, resulting in no additional overhead in the execution of the application write data path.
[0026] Figure 1.1 A system according to one or more embodiments of the present invention is shown. The system may include any number of information processing systems (60). The information processing system (60) may provide computer-implemented services. The computer-implemented services may include, for example, database services, data storage services, electronic communication services, data protection services, and / or other types of services that can be implemented using an information processing system.
[0027] Figure 1.1 The information handling systems of the system may operate independently and / or collaboratively to provide a computer-implemented service. For example, a single information handling system (e.g., 60) may alone (i.e., independently) provide a computer-implemented service, while multiple other information handling systems (e.g., 62, 64) may collaboratively provide a second computer-implemented service (e.g., each of the multiple other information handling systems may provide similar and / or different services that form the collaboratively provided service).
[0028] To provide computer-implemented services, the information processing system (60) may utilize computing resources provided by hardware devices. The computing resources may include, for example, processing resources, storage resources, memory resources, graphics processing resources, communication resources, and / or other types of resources provided by the hardware devices. Various hardware devices may provide these computing resources.
[0029] Executing a computer-implemented service may result in the generation of data. This data may be important to the system and / or its users and may need to be stored for protection and / or recovery purposes. Without departing from the present invention, this data may be stored for other and / or additional purposes. Storing this data in the system's hardware devices may be problematic because the hardware devices may malfunction. Failure of the hardware devices may result in data loss and / or data corruption.
[0030] In general, embodiments of the present invention relate to systems, methods, and apparatus for managing hardware resources and / or other resources (e.g., external resources (30)) of an information handling system (60) to provide data protection services for data generated by the system. The hardware resources of an information handling system (60) can be managed by instantiating one or more composite information handling systems using the hardware resources of the information handling system (60), the external resources (30), and / or other types of hardware devices operatively connected to the information handling system (60). During instantiation of the composite information handling system, one or more devices, including a system control processor and a tracking volume, can be automatically configured to perform data protection services for the composite information handling system, including generating backups of the data, thereby further protecting the data stored in the composite information handling system. Thus, data protection services can be provided to the composite information handling system in an efficient and unified manner, thereby achieving enhanced protection for data generated by the composite information handling system performing computer-implemented services.
[0031] In one or more embodiments of the present invention, the system includes a system control processor manager (50). The system control processor manager (50) can provide a composite information handling system composite service. The composite information handling system composite service can include: (i) obtaining a composite request for the composite information handling system, and (ii) using the system control processor to aggregate computing resources from the information handling system (60) and / or external resources (30) to service the request by instantiating the composite information handling system in accordance with the composite request. By doing so, the instantiated composite information handling system can provide a computer-implemented service in accordance with the composite request.
[0032] In one or more embodiments of the present invention, the system control processor manager (50) instantiates a composite information processing system according to a three-resource set model. As will be discussed in more detail below, the computing resources of the information processing system can be divided into three logical resource sets: a computing resource set, a control resource set, and a hardware resource set. Different resource sets or portions thereof from the same or different information processing systems can be aggregated (e.g., so as to operate as a computing device) to instantiate a composite information processing system having at least one resource set from each set in the three-resource set model.
[0033] By logically partitioning the computing resources of an information processing system into these resource sets, different amounts and types of computing resources can be allocated to each composite information processing system, thereby enabling the resources allocated to the respective information processing systems to match the workload being executed. Furthermore, partitioning computing resources according to these set models allows different resource sets to be differentiated (e.g., given different characteristics) to provide different functions. Thus, composite information processing systems can be composited based on desired functionality, rather than solely based on the aggregate resources to be included in the composite information processing system.
[0034] Furthermore, by combining composite information processing systems in this manner, the control resource set of each composite information processing system can be used to consistently deploy management services across any number of composite information processing systems. Thus, embodiments of the present invention can provide a framework for unified security, manageability, resource management / composability, workload management, and distributed system management using this three-resource set model. For more details on the system control processor manager (50), see Figure 4 .
[0035] In one or more embodiments of the present invention, a composite information handling system is a device formed using all or part of the computing resources of the information handling system (60), external resources (30), and / or other types of hardware devices operatively connected to the information handling system (60). The composite information handling system can utilize the computing resources allocated to it to provide computer-implemented services. For example, the composite information handling system can host one or more applications that utilize the computing resources allocated to the composite information handling system. The applications can provide computer-implemented services.
[0036] To instantiate a composite information processing system, the information processing system (60) may include at least three resource sets, including a control resource set. The control resource set may include a system control processor. The system control processor of each information processing system may cooperate with the system control processor manager (50) to enable the composite information processing system to be instantiated. For example, the system control processor of the information processing system may provide telemetry data about the computing resources of the information processing system, may perform actions on behalf of the system control processor manager (50) to aggregate computing resources together, may organize the execution of duplicate workloads to increase the likelihood that the workloads will be completed, and / or may provide services that unify the operation of the composite information processing system.
[0037] In one or more embodiments of the present invention, the computing resource set of the composite information processing system is presented as bare metal resources by the control resource set, even though the presented resources are actually being managed using one or more layers of abstraction, emulation, virtualization, security models, etc. For example, the system control processor of the control resource set can provide abstraction, emulation, virtualization, data protection, and / or other services when presenting the resources as bare metal resources. Thus, these services can be transparent to applications hosted by the computing resource set of the composite information processing system, thereby enabling uniform deployment of such services without the need to implement control plane entities hosted by the computing resource set of the composite information processing system. For more details on the information processing system (60), see Figure 1.2 .
[0038] External resources (30) can provide computing resources that can be allocated for use by the composite information handling system. For example, external resources (30) can include hardware devices that provide any number and type of computing resources. The composite information handling system can use these resources to provide its functionality. Different external resources (e.g., 32, 34) can provide similar or different computing resources.
[0039] In one or more embodiments of the present invention, Figure 1.1The system includes a backup storage volume (70) that provides data storage services to the composite information processing system. The backup storage volume (70) may include any number of backup storage volumes. For example, the backup storage volume (70) may include a backup storage volume A (72) and a backup storage volume N (74). The data storage services may include storing data provided by the composite information processing system and providing previously stored data to the composite information processing system. The data stored in the backup storage volume (70) may be used for recovery purposes.
[0040] The data stored in the backup storage volume (70) may be used for other purposes without departing from the present invention. The data stored in the backup storage volume (70) may include backups generated during the execution of the data protection service of the composite information processing system. The backups may be of any type (e.g., snapshots, incremental backups, full backups, etc.) without departing from the present invention.
[0041] The data stored in the backup storage volume (70) may include other and / or additional types of data obtained from other and / or additional components without departing from the invention.
[0042] Figure 1.1 The system may include any number of information handling systems (e.g., 62, 64), any number of external resources (e.g., 32, 34), any number of backup storages (e.g., 72, 74), and any number of system control processor managers (e.g., 50). Figure 1.1 Any of the components may be operatively connected to any other component and / or Figure 1.1 The network may be implemented using any combination of wired and / or wireless network topologies.
[0043] The system control processor manager (50), information processing system (60), backup storage (70) and / or external resources (30) may be implemented using a computing device. The computing device may include, for example, a server, a laptop computer, a desktop computer, a node of a distributed system, etc. The computing device may include one or more processors, a memory (e.g., a random access memory) and / or a permanent storage (e.g., a disk drive, a solid-state drive, etc.). The permanent storage may store computer instructions, such as computer code, which (when executed by one or more processors of the computing device) causes the computing device to perform the functions of the system control processor manager (50), information processing system (60), backup storage (70) and / or external resources (30) described in this application and / or Figures 5.1 to 5.3All or part of the method shown in. Without departing from the present invention, the system control processor manager (50), information processing system (60), backup storage (70) and / or external resources (30) may be implemented using other types of computing devices. For more details about computing devices, see Figure 7 .
[0044] Although information handling system (60) has been shown and described as including a limited number of specific components, information handling systems according to embodiments of the present invention may include more, fewer, and / or different components without departing from the present invention.
[0045] Go to Figure 1.2 , Figure 1.2 A diagram of an information handling system (100) according to one or more embodiments of the present invention is shown. Figure 1.1 Any of the information processing systems (e.g., 60) may be similar to Figure 1.2 The information processing system (100) shown in FIG.
[0046] As described above, the information handling system (100) can provide any number and type of computer-implemented services. To provide computer-implemented services, the resources of the information handling system can be used to instantiate one or more composite information handling systems. The composite information handling system can provide computer-implemented services.
[0047] To provide computer-implemented services, the information handling system (100) may include any number and type of hardware devices, including, for example, one or more processors (106), any number and type of processor-specific memory (104), one or more system control processors (114), and any number of hardware resources (118). These hardware devices may be logically divided into three resource sets, including a computing resource set (102), a control resource set (108), and a hardware resource set (110).
[0048] A control resource set (108) of an information processing system (100) can facilitate forming a composite information processing system and managing data protection services using tracked volumes. To do so, the control resource set (108) can prepare any number of resources from any number of hardware resource sets (e.g., 110) (e.g., of the information processing system (100) and / or other information processing systems) to present to processing resources of any number of computing resource sets (e.g., 102) (e.g., of the information processing system (100) and / or other information processing systems). Once prepared, the control resource set (108) can present the prepared resources as bare metal resources to the processors (e.g., 106) of the allocated computing resources. By doing so, a composite information processing system can be instantiated. In addition, the control resource set (108) can prepare the hardware resource sets (e.g., 110) or other computer resources (e.g., system control processor (114)) as tracked volumes and perform data protection services.
[0049] The control resource set (108) may not present the tracking volume to the processor (106) of the computing resource set (102) to establish transparency. In other words, the tracking volume can be used to provide data protection services without the knowledge of the processor (106) or any entity executing on the processor (106) of the computing resource set (102).
[0050] To prepare the resources of the hardware resource set for presentation, the control resource set (108) may employ, for example, virtualization, indirection, abstraction, and / or emulation. These management functions may be transparent to applications hosted by the resulting instantiated composite information handling system. Thus, the composite information handling system may operate according to any number of management models without the knowledge of the control plane entities of the composite information handling system, thereby providing unified control and management of the composite information handling system. These functions may be transparent to applications hosted by the composite information handling system, thereby freeing the applications from the overhead associated with these functions.
[0051] For example, consider a scenario in which a computing resource set is instructed to instantiate a composite information processing system, which includes the computing resource set and a hardware resource set that will contribute storage resources to the computing resource set. The computing resource set may virtualize the storage resources of the hardware resource set to enable a selected amount of storage resources to be allocated to the composite information processing system, while reserving some of the storage resources for allocation to other composite information processing systems. However, the provisioned storage resources may be presented to the computing resource set as bare metal resources. As a result, the computing resource set may not need to host any control plane entities or otherwise incur the overhead of utilizing virtualized storage resources.
[0052] The computing resource set (102) may include one or more processors (106) operatively connected to a processor-specific memory (104). Thus, the computing resource set (102) may host any number of execution processes, thereby enabling any number and type of workloads to be executed. In executing the workloads, the computing resource set (102) may utilize computing resources provided by the hardware resource set (110) of the information handling system (100), the hardware resource sets of other information handling systems, and / or external resources.
[0053] The processor (106) of the computing resource set (102) is operatively connected to one or more system control processors (114) of the control resource set (108). For example, the processor (106) may be connected to a computing resource interface (112), which is also connected to the system control processor (114).
[0054] The system control processor (114) of the hardware resource set (110) can present the computing resources to the processor (106) as bare metal resources. In other words, from the perspective of the processor (106), any number of bare metal resources can be operatively connected to it via the computing resource interface (112), while in reality, the system control processor (114) is operatively connected to the processor (106) via the computing resource interface (112). In other words, the system control processor (114) can manage the presentation of other types of resources to the computing resource set (102).
[0055] By presenting computing resources to the processor as bare metal resources, control plane entities (e.g., applications) such as hypervisors, emulators, and / or other types of management entities may not need to be hosted (e.g., executed) by the processor (106) in order for the processor (106) and entities hosted thereby to utilize the computing resources allocated to the composite information processing system. Thus, all processing resources provided by the computing resource set (102) may be dedicated to providing computer-implemented services.
[0056] For example, the processor (106) may utilize mapped memory addresses to communicate with bare metal resources presented to the processor (106) by the system control processor (114). The system control processor (114) may obtain these communications and appropriately remap (e.g., reassemble, redirect, encapsulate, etc.) the communications to actual hardware devices that provide computing resources, with which the processor (106) interacts via the computing resource interface (112) and / or the hardware resource interface (116), as described below. Thus, indirection, remapping, and / or other functionality required for resource virtualization, emulation, abstraction, or other methods of resource allocation (rather than bare metal) and management may not need to be implemented via the processor (106).
[0057] By doing so, any number of functions of the composite information handling system can be automatically performed in a manner transparent to the control plane. Thus, the composite information handling system can operate in a manner consistent with a unified, consistent architecture or model (e.g., a communication model, a data storage model, etc.) by configuring the operation of one or more system control processors in a manner consistent with the architecture or model.
[0058] In one or more embodiments of the invention, control plane entities utilize computing resources presented through one or more layers of indirection, abstraction, virtualization, etc. In other words, an indirect user of hardware devices and computing resources is thereby provided.
[0059] In one or more embodiments of the present invention, data plane entities directly utilize computing resources. For example, data plane entities may instruct the operation of hardware devices to directly utilize the computing resources provided thereby. Data plane entities may use one or more layers of indirection, abstraction, virtualization, etc. to present computing resources to control plane entities.
[0060] The system control processor (114) can present any number of resources operatively connected thereto (e.g., the hardware resource set (110)), other resources operatively connected thereto via interfaces (e.g., the hardware resource interface (116), etc.) as bare metal resources to the processor (106) of the computing resource set (102). Thus, the system control processor (114) can implement a device discovery process compatible with the processor (106) to enable the processor (106) to utilize the presented computing resources.
[0061] For example, the hardware resource set (110) may include hardware resources (118) operatively connected to the system control processor (114) via a hardware resource interface (116). The hardware resources (118) may include any number and type of hardware devices that provide computing resources. For more details about the hardware resources (118), see Figure 2 .
[0062] In another example, the system control processor (114) can be operatively connected to other hardware resource sets of other information handling systems via the hardware resource interface (116), the network (130), and / or other system control processors of other information handling systems. The system control processors can cooperatively prepare and present the hardware resource sets of the other information handling systems as bare metal resources to the computing resource set (120).
[0063] In another example, the system control processor (114) can be operatively connected to the external resource via the hardware resource interface (116) and the network (130). The system control processor (114) can prepare the external resource and present the external resource to the computing resource set (120) as a bare metal resource.
[0064] For more details on the operation and functionality of the system control processor (114), see Figure 3 .
[0065] The computing resource interface (112) can be implemented using any suitable interconnect technology, including, for example, a system bus such as Compute Express Link or other interconnect protocols. The computing resource interface (112) can support any input / output (IO) protocol, any memory protocol, any coordination interface, etc. The computing resource interface (112) can support processor-to-device connections, processor-to-memory connections, and / or other types of connections. The computing resource interface (112) can be implemented using one or more hardware devices that include circuitry suitable for providing the functionality of the computing resource interface (112).
[0066] The hardware resource interface (116) can be implemented using any suitable interconnect technology, including, for example, a system bus such as Compute Express Link or other interconnect protocols. The hardware resource interface (116) can support any input / output (IO) protocol, any memory protocol, any coordination interface, etc. The hardware resource interface (116) can support processor-to-device connections, processor-to-memory connections, and / or other types of connections. The hardware resource interface (116) can be implemented using one or more hardware devices that include circuitry suitable for providing the functionality of the hardware resource interface (116).
[0067] In some embodiments of the present invention, the computing resource set (120), the control resource set (108), and / or the hardware resource set (110) may be implemented as separate physical devices. In such scenarios, the computing resource interface (112) and the hardware resource interface (116) may include one or more networks that enable these resource sets to communicate with each other. Thus, any of these resource sets (e.g., 102, 108, 110) may include a network interface card or other device to enable the hardware devices of the corresponding resource set to communicate with each other.
[0068] In one or more embodiments of the present invention, the system control processor (114) supports multiple independent connections. For example, the system control processor (114) may support a first network communication connection (e.g., an in-band connection) that may be allocated for use by an application hosted by the processor (106). The system control processor (114) may also support a second network communication connection (e.g., an out-of-band connection) that may be allocated for use by an application hosted by the system control processor (114). The out-of-band connection may be used for management and control purposes, while the in-band connection may be used to provide computer-implemented services. These connections may be associated with different network endpoints, allowing communications to be selectively directed to applications hosted by the processor (106) and / or the system control processor (114). As will be described with reference to Figure 3 As discussed in more detail, the system control processor (114) may utilize out-of-band connections to communicate with other devices to manage (eg, instantiate, monitor, modify, etc.) the composite information handling system.
[0069] The network (130) may correspond to any type of network and may be operatively connected to the Internet or other networks, thereby enabling the information processing system (100) to communicate with any number and type of other devices.
[0070] The information processing system (100) may be implemented using a computing device. The computing device may be, for example, a server, a laptop computer, a desktop computer, a node in a distributed system, etc. The computing device may include one or more processors, memory (e.g., random access memory), and / or permanent storage (e.g., a disk drive, a solid-state drive, etc.). The permanent storage may store computer instructions, such as computer code, which (when executed by one or more processors of the computing device) causes the computing device to perform the functions of the information processing system (100) described in this application and / or Figures 5.1 to 5.3 All or part of the method shown in. Without departing from the present invention, the information processing system (100) can be implemented using other types of computing devices. For more details about computing devices, see Figure 7 .
[0071] Although information handling system (100) has been shown and described as including a limited number of specific components, information handling systems according to embodiments of the present invention may include more, fewer, and / or different components without departing from the present invention.
[0072] Go to Figure 2 , Figure 2A diagram of hardware resources (118) is shown in accordance with one or more embodiments of the present invention. As described above, a system control processor of an information handling system may present resources, including, for example, some of the hardware resources (118), to form a composite information handling system.
[0073] The hardware resources (118) may include any number and type of hardware devices that can provide any number and type of computing resources. For example, the hardware resources (118) may include storage devices (200), memory devices (202), and dedicated devices (204).
[0074] The storage device (200) may provide a storage resource (e.g., a persistent storage volume) in which applications hosted by the complex information handling system may store data including any type and amount of information. A system control processor or other entity may copy writes of data to the storage device (200). In other words, the storage device (200) may be used to store a first copy of the data, and a tracking volume (described below) may be used to store a second copy of the copy of the data. The storage device (200) may include any type and number of devices to store data. The devices may include, for example, hard disk drives, solid-state drives, tape drives, etc. Without departing from the present invention, the storage device (200) may include other types of devices for providing storage resources. For example, the storage device (200) may include a controller (e.g., a redundant array of disk controllers), a load balancer, and / or other types of devices.
[0075] The memory device (202) can provide memory resources (e.g., temporary and / or permanent storage) in which the complex information processing system can store data including any type and amount of information. The memory device (202) can include any type and number of devices to store data. The devices can include, for example, temporary storage such as random access memory, permanent storage such as enterprise-level storage, etc. The memory device (202) can include other types of devices for providing memory resources without departing from the present invention. For example, the memory device (202) can include a controller (e.g., a replication manager), a load balancer, and / or other types of devices.
[0076] The dedicated devices (204) may provide other types of computing resources (e.g., graphics processing resources, computing acceleration resources, etc.) to the composite information processing system. The dedicated devices (204) may include any type and number of devices for providing other types of computing resources. The dedicated devices (204) may include, for example, a graphics processing unit for providing graphics processing resources, a computing accelerator for accelerating corresponding workloads executed by the composite information processing system, an application-specific integrated circuit (ASIC) for performing other functions, a digital signal processor for facilitating high-speed communication, etc. The dedicated devices (204) may include other types of devices for providing other types of computing resources without departing from the present invention.
[0077] The system control processor of the information handling system can mediate the presentation of computing resources provided by the hardware resources (118) to the computing resource set (e.g., presented to the processor as bare metal resources). In doing so, the system control processor can provide an abstraction layer that enables the hardware resources (118) to be, for example, virtualized, emulated to be compatible with other systems, and / or directly connected to the computing resource set (e.g., pass-through). As a result, the computing resources of the hardware resources (118) can be allocated to different composite information handling systems at a fine or macro level.
[0078] Additionally, the system control processor may manage the operation of these hardware devices according to one or more models, including a data protection model. The models may include other models such as, for example, a security model, a workload execution availability model, a reporting model, etc. The data protection model may include executing data protection services for data generated by the composite information processing system.
[0079] In one or more embodiments of the present invention, the data protection service includes copying writes of data involving a logical hardware resource (118) to a tracking volume (described below). The system control processor may obtain a bare metal communication from the computing resource indicating the write of the data. In response to obtaining the bare metal communication, the system control processor may write a first copy to the logical hardware resource as specified by the bare metal communication and may also write a second copy of the data to the tracking volume. The data protection service may also include generating a backup using the tracking volume. Without departing from the present invention, the data protection service may include other types of data protection services, such as deduplication, erasure coding, compression, and other and / or additional data protection services.
[0080] To perform the aforementioned data protection services, during instantiation of the composite information processing system, the system control processor manager may prepare one or more system control processors and a tracking volume for providing data protection services. The system control processor manager may instruct the one or more system control processors to use the tracking volume to perform rewriting and data backup generation.
[0081] The manner in which these devices operate (i.e., the execution of the aforementioned data protection services) can be transparent to the set of computing resources that utilize these hardware devices to provide computer-implemented services. Thus, even though the resulting composite information processing system control plane may not be aware of the implementation of these models, the composite information processing system can still operate according to these models, thereby providing a unified method for managing data protection services for the composite information processing system.
[0082] While the hardware resources (118) have been shown and described as including a limited number of specific components, local hardware resources according to embodiments of the present invention may include more, fewer, and / or different components without departing from the present invention.
[0083] As described above, an information handling system may include a system control processor that can be used to instantiate a composite information handling system. Figure 3 A diagram of a system control processor (298) according to one or more embodiments of the present invention is shown. Figure 1.2 Any of the system control processors in the control resource set of Figure 3 The system control processor (298) is shown in FIG.
[0084] The system control processor (298) can facilitate instantiation and operation of a composite information handling system. By doing so, a system including an information handling system can dynamically instantiate a composite information handling system to provide computer-implemented services and to provide data protection services to the composite information handling system.
[0085] To instantiate and operate a composite information handling system, the system control processor (298) may include a composite manager (300), a physical resource manager (302), an emulated resource manager (304), a virtual resource manager (306), a data protection coordinator (320), a system control processor manager (308), hardware resource services (310), and a storage bank (312). Each of these components of the system control processor is described below.
[0086] The composite manager (300) may manage the process of instantiating and operating a composite information handling system. To provide these management services, the composite manager (300) may include the following functions: (i) obtaining information about hardware components of the information handling system (e.g., obtaining telemetry data about the information handling system), (ii) providing the obtained information to other entities (e.g., management entities such as the system control processor manager (50, Figure 1.1), (iii) obtaining a composite request for a composite information handling system, (iv) based on the composite request, preparing resources and presenting the resources as bare metal resources to the computing resource set, (v) instantiating applications in the composite information handling system so that the composite information handling system provides computer-implemented services, operates in accordance with a security model, etc., (vi) managing the operation of the composite information handling system by providing data protection services, for example, using tracking volumes, (vii) dynamically adding / removing / modifying resources presented to the computing resource set of the composite information handling system based on the workload being executed by the composite information handling system, and / or (viii) cooperating with other system control processors to provide distributed system functionality. By providing the above functionality, the system control processor according to one or more embodiments of the present invention can enable distributed resources from any number of information handling systems to be aggregated into the composite information handling system to provide computer-implemented services.
[0087] To obtain information about the hardware components of the information handling system, the composite manager (300) may compile an inventory of the components of the information handling system hosting the system control processor. The inventory may include, for example, the type and model of each hardware component, the version of firmware or other code executed on the hardware component, and / or information about the hardware components of the information handling system that may be allocated to form a composite information handling system.
[0088] The composite manager (300) may obtain the composite request from another entity (e.g., a management entity responsible for instantiating the composite information handling system) as a preloaded instruction stored in a memory bank of the system control processor and / or via other methods. The composite request may specify, for example, the type and amount of computing resources to be allocated to the composite information handling system.
[0089] In one or more embodiments of the present invention, a composite request specifies computing resource allocation using an intent-based model. For example, rather than specifying that a composite information processing system (or portion thereof) is to be allocated to a specific set of computing resources to obtain the composite information processing system, a resource request may simply specify that the composite information processing system is to be instantiated with predetermined characteristics, that the composite information processing system is to execute certain workloads or execute certain applications, and / or that the composite information processing system is capable of performing one or more predetermined functions. In such scenarios, the composite manager may decide how to instantiate the composite information processing system (e.g., which resources are to be allocated, how the resources are to be allocated (e.g., virtualization, simulation, redundant workload execution, data integrity model to be adopted, etc.), to which set(s) of computing resources the corresponding computing resources are to be presented, etc.).
[0090] In one or more embodiments of the present invention, a compound request specifies computing resource allocation using an explicit model. For example, a compound request may specify (i) the resources to be allocated, (ii) how those resources are to be presented (e.g., using virtualized resources to emulate a particular type of device versus passing directly through to a hardware component), and (iii) one or more computing resource sets to which each of the allocated resources is to be presented.
[0091] In addition to specifying resource allocations, the composite request may also specify, for example, applications to be hosted by the composite information handling system, the security model to be employed by the composite information handling system, the communication model to be employed by the composite information handling system, data protection services to be provided to the composite information handling system, user / entity access credentials for use with the composite information handling system, and / or other information that can be used to place the composite information handling system in a state in which the composite information handling system provides the desired computer-implemented services.
[0092] To prepare resources based on the composite request and present the resources to the computing resource set, the system control processor can implement, for example, abstraction, indirection, virtualization, mapping, emulation, and / or other types of services that can be used to present any type of resource as a resource that can be utilized bare metal by the computing resource set. To provide these services, the composite manager (300) can invoke functionality of the physical resource manager (302), the emulated resource manager (304), and / or the virtual resource manager (306).
[0093] In addition, the system control processor may consider the importance of workload completion when preparing and presenting resources. For example, some workloads that can be executed by various hardware devices may be critical to the computer-implemented services to be provided by the composite information processing system (e.g., high-availability workloads). In such scenarios, the system control processor may over-allocate resources for the execution of the workload (e.g., more than requested by the computing resource set) so that at least two instances of the workload can be executed using duplicate resources. By doing so, it may be more likely that at least one of the workloads will be successfully completed. Therefore, the system control processor may provide the output of one of the workloads to the computing resource set of the composite information processing system.
[0094] When presenting the resource to the computing resource set, the system control processor (298) can use an emulated data plane to present the resource. For example, the system control processor (298) can receive bare metal communications (e.g., IO from a processor) and respond in a manner consistent with the response of a corresponding bare metal device (e.g., memory). In doing so, the system control processor (298) can convert the communication into an action. The action can be provided to a hardware device used by the system control processor (298) to present the bare metal resource to one or more computing resource sets. The hardware device can then execute the action, which causes the composite information processing system to provide the desired computer-implemented service.
[0095] In some scenarios, multiple system control processors may cooperate to present bare metal resources to a computing resource set. For example, a single information handling system may not include sufficient hardware devices to present a certain number and / or type of resources to a computing resource set as specified by a composite request (e.g., presenting two storage devices to a computing resource set when a single information handling system includes only a single storage body). In this scenario, a second system control processor of a second information handling system operatively connected to the system control processor responsible for presenting resources to the computing resource set may prepare one of its storage devices for presentation. Once prepared, the second system control processor may communicate with the system control processor to enable the system control processor to present the prepared storage device (i.e., the storage device in the information handling system) to the computing resource set. By doing so, resources from multiple information handling systems may be aggregated to present a desired number of resources to one or more computing resource sets, thereby forming a composite information handling system.
[0096] By forming a composite information processing system as described above, embodiments of the present invention can provide a system that can efficiently utilize distributed resources across a range of devices to provide computer-implemented services.
[0097] The physical resource manager (302) can manage the presentation of resources to the computing resource set. For example, the physical resource manager (302) can generate a translation table, for example, that specifies actions to be performed in response to bare metal communications received from the computing resource set. The translation table can be used to take actions in response to communications from the computing resource set.
[0098] The physical resource manager (302) can generate a translation table based on the components of the computing resource set, the commands / communications allocated or received from the computing resource set, and the resources of the information processing system allocated to serve the computing resource set. For example, when the computing resource set is presented with bare metal resources, a discovery process may be performed to prepare the bare metal resources for use. As the discovery process progresses, the computing resource set may send commands / communications to the bare metal resources to, for example, discover their address ranges. The physical resource manager (302) can monitor this process, respond appropriately, and generate a translation table based on these commands and the resources available to serve these bare metal commands / communications.
[0099] For example, consider a scenario where a virtualized disk is allocated to service bare metal storage commands from a set of compute resources. In such a scenario, the physical resource manager (302) can generate a translation table that translates physical writes from the set of compute resources into virtualized writes corresponding to the virtualized disk. Thus, the virtualized disk can be used by the system control processor (298) to present bare metal resources to the set of compute resources.
[0100] The emulation resource manager (304) may generate an emulation table that enables resources that are not originally compatible with the computing resource set to be compatible with the computing resource set. Different types of hardware devices of the computing resource set may be compatible with different types of hardware devices. Therefore, resources assigned to provide bare metal resources may not necessarily be compatible with the hardware devices of the computing resource set. The emulation resource manager (304) may generate an emulation table that maps bare metal communications received from the computing resource set to actions that are compatible with resources assigned to provide bare metal resources to the computing resource set.
[0101] The virtual resource manager (306) can manage virtualized resources that can be allocated to provide bare metal resources to the set of computing resources. For example, the virtual resource manager (306) can include a hypervisor function to virtualize hardware resources and allocate portions of the virtualized resources for providing bare metal resources.
[0102] Although the physical resource manager (302), simulated resource manager (304), and virtual resource manager (306) have been described as generating tables, these components of the system control processor may generate other types of data structures or utilize different management models to provide their respective functions without departing from the present invention.
[0103] To provide the aforementioned data protection services, the system control processor (298) may include a data protection coordinator (320). The data protection coordinator may include functionality for executing data protection services. The data protection services may include (i) identifying hardware resources to be used as tracking volumes, performing duplicate writes on the hardware resources and the tracking volumes, generating a backup of data using the tracking volumes, and transferring the data to a backup storage volume (e.g., 70, Figure 1.1 ) provides backup. Without departing from the present invention, data protection services may include other and / or additional types of data protection services (e.g., deduplication, erasure coding, compression, replication, etc.). For more information about data protection services, see Figure 5.3 Other components of the system control processor (298), such as the composite manager (300), may perform all or a portion of the data protection services without departing from the invention.
[0104] The functions of the physical resource manager (302), the emulated resource manager (304), the virtual resource manager (306), and the data protection coordinator (320) can be used individually and / or in combination to provide bare metal resources to the computing resource set and provide management services to the composite information processing system. By doing so, the system control processor (298) can resolve compatibility issues, sizing issues to match available resources with those to be allocated, and / or other issues to enable bare metal resources to be presented to the computing resource set.
[0105] In providing bare metal resources, the composite manager (300) can invoke the functionality of the physical resource manager (302), the emulated resource manager (304), and the virtual resource manager (306). Thus, resources can be presented as bare metal resources, virtualized resources via bare metal resource addressing that passes through (i.e., forwards IO from the computing resource set to the hardware device), and / or presented as emulated resources that are compatible with the hardware components of the computing resource set.
[0106] The functions of the physical resource manager (302), simulation resource manager (304), virtual resource manager (306), and data coordinator manager (320) may be invoked using any communication model including, for example, message passing, state sharing, memory sharing, etc.
[0107] The system control processor manager (308) may manage the general operation of the system control processor (298). For example, the system control processor manager (308) may operate as an operating system or other entity that manages the resources of the system control processor (298). The composite manager (300), the physical resource manager (302), the emulated resource manager (304), the virtual resource manager (306), and the data protection coordinator (320), and / or other entities hosted by the system control processor (298), may call or otherwise utilize the system control processor manager (308) to obtain appropriate resources (e.g., processing resources, memory resources, storage, communications, etc.) to provide their functions.
[0108] The hardware resource service (310) can facilitate any number of hardware resource sets (e.g., 110, Figure 1.1 ) of the hardware components of the hardware resource set. For example, the hardware resource service (310) may include driver functionality to appropriately communicate with the hardware devices of the hardware resource set. The hardware resource service (310) may be called by, for example, the system control processor manager (308).
[0109] In providing its functionality, any of the aforementioned components of the system control processor (298) may execute Figures 5.1 to 5.3 All or part of the method shown in .
[0110] The system control processor (298) may be implemented using a computing device. The computing device may be, for example, an embedded computing device such as a system on a chip, a processing device operatively coupled to memory and storage, or another type of computing device. The computing device may include one or more processors, memory (e.g., random access memory), and / or permanent storage (e.g., a disk drive, a solid-state drive, etc.). The permanent storage may store computer instructions, such as computer code, that (when executed by one or more processors of the computing device) cause the computing device to perform the functions of the system control processor (298) described in this application and / or Figures 5.1 to 5.3 The system control processor (298) may be implemented using other types of computing devices without departing from the present invention. See FIG6 for more details on the computing device.
[0111] In one or more embodiments of the present invention, the system control processor (298) is implemented as an onboard device. For example, the system control processor (298) may be implemented using a chip comprising circuitry disposed on a circuit board. The circuit board may also host a set of computing resources and / or hardware resources managed by the system control processor (298).
[0112] In one or more embodiments of the present invention, the composite manager (300), the physical resource manager (302), the emulated resource manager (304), the virtual resource manager (306), the data protection coordinator (320), the system control processor manager (308), and / or the hardware resource service (310) are implemented using a hardware device comprising circuitry. The hardware device may be, for example, a digital signal processor, a field programmable gate array, or an application specific integrated circuit. The circuitry may be adapted to cause the hardware device to perform the functions of the composite manager (300), the physical resource manager (302), the emulated resource manager (304), the virtual resource manager (306), the data protection coordinator (320), the system control processor manager (308), and / or the hardware resource service (310). Without departing from the present invention, the composite manager (300), the physical resource manager (302), the emulated resource manager (304), the virtual resource manager (306), the data protection coordinator (320), the system control processor manager (308), and / or the hardware resource service (310) may be implemented using other types of hardware devices.
[0113] In one or more embodiments of the present invention, the composite manager (300), the physical resource manager (302), the emulated resource manager (304), the virtual resource manager (306), the data protection coordinator (320), the system control processor manager (308), and / or the hardware resource service (310) are implemented using a processor adapted to execute computational code stored on a persistent storage (e.g., as part of the system control processor (298) or operatively connected to the system control processor (298) so that the processor of the system control processor (298) can obtain and execute the computational code), the computational code, when executed by the processor, performing the functions of the composite manager (300), the physical resource manager (302), the emulated resource manager (304), the virtual resource manager (306), the data protection coordinator (320), the system control processor manager (308), and / or the hardware resource service (310). The processor may be a hardware processor comprising circuitry (e.g., such as a central processing unit or a microcontroller). The processor may be other types of hardware devices for processing digital information without departing from the present invention.
[0114] As used herein, an entity that is programmed to perform a function (e.g., a step, an action, etc.) refers to one or more hardware devices (e.g., a processor, a digital signal processor, a field programmable gate array, an application specific integrated circuit, etc.) that provide the function. A hardware device may be programmed to do so by, for example, being able to execute computer instructions (e.g., computer code) that cause the hardware device to provide the function. In another example, a hardware device may be programmed to do so by having circuitry that has been adapted (e.g., modified) to perform the function. An entity that is programmed to perform a function does not include computer instructions that are independent of any hardware device. Computer instructions may be used to program a hardware device that, when programmed, provides the function.
[0115] In one or more embodiments disclosed herein, the storage (312) is implemented using a physical device that provides data storage services (e.g., stores data and provides copies of previously stored data). The device that provides data storage services may include a hardware device and / or a logical device. For example, the storage (312) may include any number and / or combination of memory devices (i.e., volatile storage), long-term storage devices (i.e., permanent storage), other types of hardware devices that can provide short-term and / or long-term data storage services, and / or logical storage devices (e.g., virtual permanent storage / virtual volatile storage).
[0116] For example, the storage volume (312) may include a memory device in which data is stored and from which a copy of previously stored data is provided (e.g., a dual embedded memory device). In another example, the storage volume (312) may include a permanent storage device in which data is stored and from which a copy of previously stored data is provided (e.g., a solid-state disk drive). In yet another example, the storage volume (312) may include (i) a memory device in which data is stored and from which a copy of previously stored data is provided (e.g., a dual embedded memory device) and (ii) a permanent storage device that stores a copy of data stored in the memory device (e.g., to provide a copy of the data in the event that the memory device loses the data due to power loss or other problems with the memory device that may affect its ability to maintain a copy of the data).
[0117] Storage (312) can also be implemented using logical storage. Logical storage (e.g., a virtual disk) can be implemented using one or more physical storage devices whose storage resources (all or a portion) are allocated for use using a software layer. Thus, a logical storage can include both physical storage devices and entities executed on a processor or other hardware device that allocates storage resources to the physical storage devices.
[0118] The storage volume (312) can store data structures including, for example, composite information handling system data (314), resource maps (316), and tracking volumes (318). Each of these data structures is discussed below.
[0119] The composite information handling system data (314) may be implemented using one or more data structures that include information about the composite information handling system. For example, the composite information handling system data (314) may specify an identifier for the composite information handling system and resources that have been allocated to the composite information handling system.
[0120] The composite information handling system data (314) may also include information about the operation of the composite information handling system. This information may include, for example, workload execution data, resource utilization over time, and / or other information useful in managing the operation of the composite information handling system.
[0121] The composite information handling system data (314) may also include information about the management model employed by the system control processor. For example, the composite information handling system data (314) may include information about duplicate data stored for data integrity purposes, workloads executed redundantly to meet high availability service requirements, encryption schemes used to prevent unauthorized access to data, and the like.
[0122] The composite information handling system data (314) may be maintained, for example, by the composite manager (300). For example, the composite manager may add, remove, and / or modify information included in the composite information handling system data (314) so that the information included in the composite information handling system data (314) reflects the state of the composite information handling system.
[0123] The data structure of the composite information processing system data (314) can be implemented using, for example, lists, tables, unstructured data, databases, etc. Figure 3 1 and 2 as being stored locally, but the composite information handling system data (314) may be stored remotely and distributed across any number of devices without departing from the invention.
[0124] The resource map (316) may be implemented using one or more data structures that include information about resources of the information handling system and / or other information handling systems. For example, the resource map (316) may specify the types and / or quantities of resources (e.g., hardware devices, virtualized devices, etc.) that are available for allocation and / or have been allocated to the composite information handling system. The resource map (316) may be used to provide data to a management entity such as a system control processor manager.
[0125] The data structure of the resource map (316) can be implemented using, for example, lists, tables, unstructured data, databases, etc. Figure 3 3. As shown in FIG. 3 as being stored locally, the resource map (316) may be stored remotely and distributed across any number of devices without departing from the invention.
[0126] The resource map (316) may be maintained by, for example, the composite manager (300). For example, the composite manager (300) may add, remove, and / or modify information included in the resource map (316) so that the information included in the resource map (316) reflects the state of the information handling system and / or other information handling systems.
[0127] The tracking volume (318) may be implemented using one or more data structures that include data generated by and / or obtained from the set of computing resources of the composite information handling system. Data written to the tracking volume (318) may be written as part of a duplicate write. In other words, a first copy of the data may be written to the storage resources of the set of hardware resources, and a second copy of the data may be written to the tracking volume (318). The tracking volume (318) may include a finite size and may include only a finite amount of data. The tracking volume (318) may be managed by, for example, a data protection coordinator (320). The tracking volume (318) may be managed by, for example, a data protection coordinator (320) for the set of computing resources of the composite information handling system (e.g., 102, Figure 1.2 ) can be transparent.
[0128] The tracking volume (318) may be implemented by the data protection coordinator (320) as a circular buffer. The tracking volume (318) may be implemented as if one end of the tracking volume (318) is connected to the other end in a circular manner. The data protection coordinator (320) may write data to the tracking volume starting at a first end of the tracking volume (318) and moving to the other end thereof in a sequential manner. When the data protection coordinator (320) has reached the other end of the tracking volume (318) and the tracking volume (318) is full, the data protection coordinator (320) may overwrite the data at the first end of the tracking volume (318). The data protection coordinator (320) may implement the tracking volume (318) as a first-in-first-out (FIFO) queue. In other words, the data protection coordinator (320) may delete and / or overwrite data written to the tracking volume (318) at a later point in time before deleting and / or overwriting data written to the tracking volume (318) at a more recent point in time. The data protection coordinator (320) may use the tracking volume (318) to generate a backup of the data included in the tracking volume (318). The tracking volume (318) may be used for other and / or additional purposes without departing from the present invention.
[0129] In addition, the data written to the tracking volume (318) may also include metadata indicating the storage location of the data in the target volume. For example, if a one-megabyte data write is intended for a specific offset block in the target volume, the tracking volume (318) may include the data and metadata specifying that the write is intended for that specific offset block. The metadata may be used to correctly rebuild the target volume. The metadata and data may be written to the tracking volume (318) in an interleaved manner or separately. In other words, the data and metadata may be written sequentially in the alignment blocks, or there may be separate streams of metadata entries stored in different alignment blocks that may specify the storage location of the target volume associated with the data. The metadata and data blocks may also be numbered or include identifiers to distinguish the data and metadata included in the tracking volume (318) from other data and metadata included in the tracking volume (318). Without departing from the present invention, the metadata included in the tracking volume (318) may include other and / or additional information associated with the data stored in the tracking volume (318). In addition, the tracking volume (318) may also include an indicator that indicates the location in the tracking volume (318) to which the head of the tracking volume (318) is currently being written. This may allow a user of the tracking volume (318) (i.e., the system control processor) to know the current location of the tracking volume (318). The system control processor and / or other entities using the tracking volume (318) may store (not on the tracking volume (318)) the location of their previous read from the tracking volume (318) and therefore deduce that they only need to read from that previous location to the current head on subsequent reads. In other words, periodic and / or sporadic access to the tracking volume (318) may be efficient because only write changes since the last time may be written to the tracking volume (318).
[0130] Furthermore, any number of data protection operations can be performed simultaneously using the tracking volume (318) because each data protection operation may include its own previously stored location in the tracking volume (318) being used, and read operations from the tracking volume (318) may always occur in parallel with each other and track write operations without interrupting each other. If the metadata for the read and write operations of the tracking volume (318) are numbered or include identifiers, and the location of the head of the tracking volume (318) is known, the identifier of the oldest location in the tracking volume (318) may be the one after the head, since the tracking volume is a circular buffer. A data protection operation may check whether its previous location is between the oldest location and the head of the tracking volume (318). If not, (i.e., the previous location may typically be less than the oldest location), this may mean that the tracking volume (318) has been rolled over before a successful backup or data protection operation occurred, and a full backup of the original target volume may be performed because the tracking volume (318) may include missing data.
[0131] Although Figure 31 and 2. Although shown as being stored locally on the storage (312) of the system control processor (298), the composite information handling system data (314) may be stored remotely and distributed across any number of devices including the storage devices of the composite system's hardware resource set without departing from the invention.
[0132] While the memory banks (312) have been shown and described as including a limited amount and type of data, memory banks according to embodiments of the present invention may store more, less, and / or different data without departing from the present invention.
[0133] While system control processor (298) has been shown and described as including a limited number of specific components, system control processors according to embodiments of the present invention may include more, fewer, and / or different components without departing from the present invention.
[0134] As described above, the system control processor manager may cooperate with the system control processor of the control resource set to instantiate a composite information handling system by presenting computing resources from the hardware resource set to the processor of the computing resource set. Figure 4 A diagram illustrating a system control processor manager (50) in accordance with one or more embodiments of the present invention is shown.
[0135] The system control processor manager (50) can manage the process of instantiating a composite information handling system. To do so, the system control processor manager (50) can include an infrastructure manager (402) and a storage bank (410). Each of these components is discussed below.
[0136] The infrastructure manager (402) can provide composite services. Composite services can include obtaining a composite request for a composite information handling system, determining resources to be allocated to instantiate the composite information handling system, and coordinating with a system control processor to allocate the identified resources. By doing so, the infrastructure manager (402) can enable any number of computer-implemented services to be provided using the composite information handling system.
[0137] To determine the resources to allocate to the composite information processing system, the infrastructure manager (402) may employ an intent-based model that converts the intent expressed in the composite request into one or more allocations of computing resources. For example, the infrastructure manager (402) may utilize a results-based computing resource requirement lookup table (414) to match the expressed intent with the resources to be allocated to satisfy the intent. The results-based computing resource requirement lookup table (414) may specify the type, quantity, management method, and / or other information about any number of computing resources that, when aggregated, will be able to satisfy the corresponding intent. Without departing from the present invention, the infrastructure manager (402) may identify the resources to allocate to satisfy the composite request via other methods.
[0138] To coordinate with the system control processor, the infrastructure manager (402) may obtain telemetry data regarding computing resources of any number of information handling systems and / or external resources available for allocation. The infrastructure manager (402) may aggregate this data into a telemetry data graph (412), which may then be used to identify resources of any number of information handling systems and / or external resources to satisfy the composite request (e.g., instantiate one or more composite information handling systems to satisfy the requirements of the composite request).
[0139] When the infrastructure manager (402) identifies computing resources to be allocated, the infrastructure manager (402) can communicate with any number of system control processors to implement the identified allocation. For example, the infrastructure manager (402) can notify the system control processors that control the resource set that a portion of the hardware resource set will be allocated to the computing resource set to instantiate the composite information processing system. The system control processors can then take action in response to the notification (e.g., prepare the portion of the hardware resource set to be presented to the processors of the computing resource set).
[0140] As the composite information handling system is instantiated, the infrastructure manager (402) can add information to the composite infrastructure map (416) that reflects the resources allocated to the composite information handling system, the workload being executed by the composite information handling system, and / or other types of information. The infrastructure manager (402) can use this information to, for example, decide whether computing resources should be added to or removed from the composite information handling system. Thus, computing resources can be dynamically reprovisioned over time to meet the changing workload imposed on the composite information handling system.
[0141] In one or more embodiments of the present invention, the infrastructure manager (402) is implemented using a hardware device comprising circuitry. The hardware device may be, for example, a digital signal processor, a field programmable gate array, or an application-specific integrated circuit. The circuitry may be adapted to cause the hardware device to perform the functions of the infrastructure manager (402). The infrastructure manager (402) may be implemented using other types of hardware devices without departing from the present invention.
[0142] In one or more embodiments of the present invention, the infrastructure manager (402) is implemented using a processor adapted to execute computing code stored on persistent storage, which, when executed by the processor, performs the functions of the infrastructure manager (402). The processor may be a hardware processor comprising circuitry (e.g., such as a central processing unit or microcontroller). The processor may be other types of hardware devices for processing digital information without departing from the present invention.
[0143] In providing its functionality, the infrastructure manager (402) may execute Figures 5.1 to 5.3 All or part of the method shown in .
[0144] In one or more embodiments disclosed herein, the storage (410) is implemented using a physical device that provides data storage services (e.g., stores data and provides copies of previously stored data). The device that provides data storage services may include a hardware device and / or a logical device. For example, the storage (410) may include any number and / or combination of memory devices (i.e., volatile storage), long-term storage devices (i.e., permanent storage), other types of hardware devices that can provide short-term and / or long-term data storage services, and / or logical storage devices (e.g., virtual permanent storage / virtual volatile storage).
[0145] For example, the storage volume (410) may include a memory device in which data is stored and from which a copy of previously stored data is provided (e.g., a dual embedded memory device). In another example, the storage volume (410) may include a permanent storage device in which data is stored and from which a copy of previously stored data is provided (e.g., a solid-state disk drive). In yet another example, the storage volume (410) may include (i) a memory device in which data is stored and from which a copy of previously stored data is provided (e.g., a dual embedded memory device) and (ii) a permanent storage device that stores a copy of data stored in the memory device (e.g., to provide a copy of the data in the event that the memory device loses the data due to power loss or other problems with the memory device that may affect its ability to maintain a copy of the data).
[0146] The storage volume (410) may also be implemented using a logical storage volume. A logical storage volume (e.g., a virtual disk) may be implemented using one or more physical storage devices whose storage resources (all or a portion) are allocated for use using a software layer. Thus, a logical storage volume may include both the physical storage devices and entities executed on a processor or other hardware device that allocates the storage resources of the physical storage devices.
[0147] The storage volume (410) may store data structures including, for example, a telemetry data map (412), a result-based computing resource requirement lookup table (414), and a composite infrastructure map (416). These data structures may be maintained, for example, by the infrastructure manager (402). For example, the infrastructure manager (402) may add, remove, and / or modify information included in these data structures so that the information included in these data structures reflects the state of any number of information processing systems, external resources, and / or composite information processing systems.
[0148] Any of these data structures can be implemented using, for example, lists, tables, unstructured data, databases, etc. Figure 4 As shown in FIG as being stored locally, any of these data structures may be stored remotely and distributed across any number of devices without departing from the invention.
[0149] While the memory banks (410) have been shown and described as including a limited amount and type of data, memory banks according to embodiments of the present invention may store more, less, and / or different data without departing from the invention.
[0150] While the system control processor manager (50) has been shown and described as including a limited number of specific components, the system control processor manager according to embodiments of the present invention may be used in conjunction with Figure 4 The figures may include more, fewer, and / or different components than those shown.
[0151] As mentioned above, Figure 1.1 The system can use a complex information processing system to provide computer-implemented services. Figure 5.1 Shows that the Figure 1.1 A method is provided for managing a complex information processing system by components of the system.
[0152] Figure 5.1 A flow chart illustrating a method according to one or more embodiments of the present invention is shown. Figure 5.1 The methods depicted in can be performed to provide computer-implemented services using a composite information handling system according to one or more embodiments of the present invention. Figure 5.1The method shown in FIG. 5 may be implemented by, for example, a system control processor manager (e.g., 50, Figure 1.1 ) to execute. Without departing from the present invention, Figure 1.1 Other components of the system can execute Figure 5.1 All or part of this method.
[0153] Although Figure 5.1 Shown as a series of steps, however, any of the steps may be omitted, may be performed in a different order, may include additional steps, and / or any or all of the steps may be performed in parallel and / or in a partially overlapping manner without departing from the invention.
[0154] In step 500, a composite request for a composite information handling system is obtained. The composite request may be obtained using any method without departing from the present invention. For example, the composite request may be obtained as part of a message from another entity operatively connected to the system control processor manager. In another example, the composite request may be stored locally in a memory bank of the system control processor manager.
[0155] A composite request may be a data structure that specifies a composite information processing system to be instantiated. Figure 3 As described above, a composite request can be specific (i.e., including a list of resources to be allocated to the composite information handling system) or intent-based (i.e., a desired result without specifying the resources to be allocated). A composite request can include any type and amount of information that can be used to determine how to instantiate the composite information handling system.
[0156] In one or more embodiments of the present invention, a composite request includes a list of computing resources to be allocated to the composite information processing system. For example, the composite request may specify computing resources, memory resources, storage resources, graphics processing resources, computing acceleration resources, communication resources, and the like. The list may include any type and number of computing resources. The computing resource list may include computing resources to be used for providing data protection services. The computing resource list may specify one or more storage resources to be used as tracking volumes and one or more computing resources to be used to perform backup generation using the tracking volumes.
[0157] In one or more embodiments of the present invention, the composite request specifies how the computing resource will be presented. For example, the composite request may specify virtualization, simulation, etc. for presenting the computing resource.
[0158] In one or more embodiments of the present invention, a composite request specifies how the resources presented as computing resources will be managed (e.g., a management model such as data integrity, security, management, availability, performance, etc.). For example, the composite request may specify the level of redundancy for data storage, the data integrity to be employed (e.g., redundant array of independent disks (RAID), error correction code (ECC), etc.), the level of security to be employed for the resources (e.g., encryption), and / or other information specifying how the system control processor will utilize the resources to present the resources to the composite information handling system. The composite request may specify that data protection services will be provided to the computing resources of the composite information handling system. The data protection services may include performing duplicate writes and backing up data using tracking volumes. The approach employed by the system control processor may be transparent to the composite information handling system because the resources may be presented to the set of computing resources of the composite information handling system as bare metal resources when the system control processor provides management functions.
[0159] In one or more embodiments of the present invention, the composite request includes a list of applications to be hosted by the composite information handling system. The list may include any type and number of applications.
[0160] The composite request may also specify the identifiers of one or more system control processors hosted by other devices. In some scenarios, as described above, resources from other information handling systems may be used to form a composite information handling system. The identifiers of the system control processors of these other information handling systems may be used to form operable connections between the system control processors. These connections may be used by the system control processors to present computing resources from the other information handling systems as bare metal resources to one or more computing resource sets of the composite information handling system.
[0161] In one or more embodiments of the present invention, a compound request specifies a desired result. The desired result may be, for example, a computer-implemented service to be provided in response to the compound request. In another example, the desired result may be a list of applications to be hosted in response to the compound request. In other words, a compound request may specify a desired result without specifying the resources to be used to satisfy the request, the method for managing the resources, the model for providing data protection / integrity / security, etc. Such a compound request may be referred to as an intent-based compound request.
[0162] In step 502, at least one computing resource set having computing resources specified by the compound request is identified. The at least one computing resource set may be identified by using a telemetry data graph (412, Figure 4 ) identifies by matching the computing resources specified by the compound request with at least one computing resource set having those resources.
[0163] For example, the telemetry data graph (412, Figure 4) may specify a list of computing resource sets, identifiers of control resource sets that manage the listed computing resource sets, hardware devices of the listed computing resource sets, and characteristics and information about the computing resource sets (e.g., memory size, storage size). By matching the computing resources specified by the compound request with the hardware devices specified in the list, the computing resource set corresponding to the listed hardware devices may be identified as the at least one computing resource set.
[0164] If no computing resource set includes all of the computing resources specified by the compound request, a plurality of computing resource sets having sufficient hardware devices to satisfy the computing resources specified by the compound request may be identified as the at least one computing resource set.
[0165] At least one hardware resource set having the hardware resources specified by the compound request is identified in step 504. The identification of the at least one hardware resource set may be similar to that described with respect to the identification of the at least one computing resource set in step 502. For example, the computing resource requirements specified by the compound request may be matched to a computing resource set.
[0166] In step 506, management services for the hardware resources are configured using the at least one control resource set to obtain logical hardware resources managed by the at least one control resource set. Management services may include, for example, virtualization, emulation, abstraction, indirection, duplicate writes, backup generation, and / or other types of services to meet data integrity, security, and / or management model requirements. The control resource set may provide management services to the at least one hardware resource set identified in step 506.
[0167] Without departing from the present invention, Figure 5.2 The method uses the at least one control resource set to set a management service for the hardware resource set to obtain a logical hardware resource.
[0168] In step 508 , the at least one control resource set is used to present logical hardware resources as bare metal resources to the at least one computing resource set to instantiate a composite information processing system, thereby servicing the composite request.
[0169] To present the logical hardware resource, the system control processor manager may instruct the system control processors of the at least one control resource set to make the bare metal resource discoverable. For example, the at least one control resource set may send a bare metal communication to one or more processors of the at least one compute resource set to enable the processors to discover the presence of the presented bare metal resource. By doing so, the processors may then begin using the logical hardware resource as a bare metal resource, thereby ensuring that the composite information handling system has all the resources necessary to provide the desired computer-implemented service.
[0170] The method may end after step 510 .
[0171] use Figure 5.1 The methods shown in , can use computing resources from one or more information handling systems to form a composite information handling system, and / or external resources can be obtained.
[0172] exist Figure 5.1 After step 510, no applications are currently executable on the composite information handling system. The composite information handling system may then be handed over to another entity for management (e.g., a coordinator) or may be additionally managed by the system control processor manager by instructing the system control processor to load applications onto the composite information handling system using any method without departing from the present invention. For example, a device image (e.g., a data structure including information that can be used to instantiate one or more applications in a corresponding operating state) can be used to begin executing the appropriate application in the desired state. By doing so, the composite information handling system can begin providing the desired computer-implemented services. Applications can be instantiated on the composite information handling system using other methods (e.g., performing an initial installation, copying a binary file to a storage volume, and beginning execution of the binary file, etc.) without departing from the present invention.
[0173] and Figure 5.1 At the same time or after the steps shown in Figure 3 ) and resource maps (316, Figure 3 ) may be updated to reflect that various resources are now allocated and are no longer available for allocation. For example, the resource map (316, Figure 3 ) may be updated to indicate that various hardware / virtualization devices that were being used to present bare metal resources to a composite information handling system are now allocated and unavailable (at least in part, if virtualized) for allocation to present bare metal resources to other composite information handling systems. The resource map maintained by the system control processor manager may be similarly updated.
[0174] Go to Figure 5.2 , Figure 5.2 A flow chart illustrating a method of setting up a management service according to one or more embodiments of the present invention is shown. Figure 5.2 The method may be performed to set up a management service for a hardware resource set using at least one control resource set to obtain a logical hardware resource. Figure 5.1 The method shown in FIG. 5 may be implemented by, for example, a system control processor manager (e.g., 50, Figure 1.1 ) to execute. Without departing from the present invention, Figure 1.1 Other components of the system can execute Figure 5.1 All or part of the method.
[0175] Although Figure 5.1 Shown as a series of steps, however, any of the steps may be omitted, may be performed in a different order, may include additional steps, and / or any or all of the steps may be performed in parallel and / or in a partially overlapping manner without departing from the invention.
[0176] In step 520, at least one storage resource is identified to be used as a tracking volume during the execution of the management service. This can be accomplished by using the telemetry data map (412, Figure 4 ) matches one or more of the hardware resources specified by the compound request with at least one storage resource to identify the at least one storage resource.
[0177] For example, the telemetry data graph (412, Figure 4 ) may specify a list of hardware resource sets, identifiers of control resource sets that manage the listed hardware resource sets, hardware devices of the listed hardware resource sets, and other hardware devices not included in the hardware resource sets (e.g., storage devices of a system control processor that are not included in the hardware resource sets). By matching the hardware resources specified by the compound request with the hardware devices specified in the list, at least one hardware resource corresponding to the listed hardware devices may be identified as a storage resource to be used as a tracking volume.
[0178] In one or more embodiments of the present invention, at least one storage resource is identified to serve as a tracking volume during execution of a management service based on tracking volume characteristics included in a compound request. The compound request may include tracking volume characteristics that may be matched with characteristics of the at least one storage resource to identify the at least one storage resource to serve as the tracking volume. The tracking volume characteristics may include information and / or requirements regarding the tracking volume to be instantiated. For example, the tracking volume characteristics may specify a desired data storage size for the tracking volume. Telemetry Data Graph (412, Figure 4 ) may be used to identify at least one hardware resource including a data storage size that matches the data storage size of the tracking volume characteristic specified in the compounding request. Without departing from the present invention, at least one storage resource may be identified for use as a tracking volume during execution of the management service via other and / or additional methods. An example of intent-based compounding of a tracking volume is where the tracking volume size is derived from a user-defined intent parameter. For example, a user may specify a minimum time that data must reside in the tracking volume for all data protection services to successfully ensure that they have accessed and processed the data. The tracking volume size may be calculated based on the minimum time and / or other system characteristics (e.g., load, target throughput, device type, data protection policy requirements, etc.), and the tracking volume may be provisioned accordingly.
[0179] If no hardware resource includes all of the tracking volume characteristics specified by the compound request, multiple hardware resources having sufficient hardware devices to satisfy the tracking volume characteristics specified by the compound request may be identified as the at least one storage resource to be used as the tracking volume.
[0180] In one or more embodiments of the present invention, at least one storage resource comprises a hardware resource of at least one hardware resource set. At least one storage resource may comprise any number of hardware resources (e.g., solid-state disk drives) of at least one hardware resource set. Without departing from the present invention, at least one storage resource may comprise a hardware resource from Figure 1.1 Other and / or additional hardware resources for other and / or additional components of the systems shown in .
[0181] In one or more embodiments of the present invention, at least one storage resource comprises a hardware resource that is not included in any of the hardware resource sets. For example, the hardware resource may be one or more storage devices, such as one or more system control processors that control the resource set. The storage device may be a solid-state drive, such as one or more system control processors that control the resource set. Without departing from the present invention, at least one storage resource may comprise a hardware resource from Figure 1.1 Other and / or additional hardware resources for other and / or additional components of the systems shown in .
[0182] In step 522, the hardware resource set and the control resource set are prepared to implement management services using the tracked volume, thereby obtaining logical hardware resources. To set up the management services, the system control processor manager may coordinate with at least one control resource set. For example, the system control processor manager may generate instructions for implementing the management services, encapsulate the instructions in a message, and send the message to one or more system control processors of the at least one control resource set. In response to receiving the message, the system control processor may implement the instructions to implement any number of management services, such as deduplication, backup generation, virtualization, emulation, etc.
[0183] The system control processor manager may also include identification information for system control processors that will facilitate presentation of resources as part of the instantiated composite information processing system. Thus, the system control processors of the control resource set that will facilitate presentation of bare metal resources to the processors of the computing resource set of the composite information processing system may be able to identify each other, communicate with each other, etc.
[0184] Setting up management services for a set of hardware resources may include, for example, preparing translation, indirection, or abstraction tables for translating logical addresses provided by the set of computing resources into physical addresses utilized by hardware devices of the set of hardware resources including tracked volumes.
[0185] In another example, setting up the management service may include, if the resource of the type is allocated as part of a virtualized resource, calling a virtualized resource manager to allocate the portion of the resource from an existing virtualized resource or by instantiating a new virtualized resource and allocating the portion from the new virtualized resource.
[0186] In yet another example, if the type of resource allocation requires emulated resources, providing management services may include instantiating a corresponding emulation layer between the hardware devices of the hardware resource set and the computing resource set. Thus, bare metal communications between the computing resource set and the hardware devices for presenting bare metal resources to the computing resource set may be automatically converted by the system control processor.
[0187] The configuration management service may also include modifying the operation of one or more devices to provide data protection functions. Other functions may include, for example, data integrity functions (e.g., RAID, ECC, etc.), security functions (e.g., encryption), and / or other functions that are transparent to the composite information handling system.
[0188] The method may end after step 522 .
[0189] use Figure 5.2 The method shown in, including a data protection service of a management service can be set up in the following manner: preparing at least one control resource set and at least one hardware resource set to be presented to a computing resource set as logical hardware resources, and preparing a tracking volume and at least one control resource set to provide a data protection service that is transparent to the computing resource set.
[0190] Go to Figure 5.3 , which shows a flow chart of a method according to one or more embodiments of the present invention. Figure 5.3 The method depicted in can be performed to provide data protection services for a composite information handling system according to one or more embodiments of the present invention. Figure 5.3 The method shown in can be performed by, for example, an information processing system (e.g., 62, Figure 1.1 ) of a system control processor (e.g., 114, Figure 1.1 ) to execute. Without departing from the present invention, Figure 1.1 Other components of the system can execute Figure 5.3 All or part of the method.
[0191] Although Figure 5.3 Shown as a series of steps, however, any of the steps may be omitted, may be performed in a different order, may include additional steps, and / or any or all of the steps may be performed in parallel and / or in a partially overlapping manner without departing from the invention.
[0192] Prior to step 530, the composite information processing system (including the system control processor) receives the composite request via the above-mentioned Figure 5.1 and Figure 5.2 The composite request may indicate that a data protection service will be implemented for an application executed on at least one control resource set of the composite information processing system. The data protection service may include the following: Figure 5.3 The method uses the tracking volume to back up data. Without departing from the present invention, the data protection service may include other and / or additional services and may be implemented via other and / or additional methods.
[0193] In step 530, a bare metal communication indicating data write is obtained. A computing resource of the computing resource set of the composite information processing system may send a message to the storage control processor. The message may include a bare metal communication. The bare metal communication may indicate that data is to be written to and stored in one or more hardware resources of the hardware resource set. The bare metal communication may also specify the storage resource of the hardware resource set of the composite information processing system in which the data is to be written to and stored. The message may also include the data to be written to and stored in the one or more hardware resources of the hardware resource set and metadata associated with the data.
[0194] In step 532, the first copy of the data is written to the storage resource of the hardware resource set. In response to obtaining the bare metal communication, the system control processor may generate two copies of the data specified in the bare metal communication: a first copy of the data and a second copy of the data. The system control processor may write the first copy of the data to the storage resource specified in the bare metal communication. The system control processor may use and / or call functions of the physical resource manager, the simulation resource manager and / or the virtual resource manager to write the first copy of the data to the storage resource. The system control processor may use an address table and / or other resources generated using the physical resource manager, the simulation resource manager and / or the virtual resource manager to write the first copy of the data to the storage resource. Therefore, the first copy of the data may be stored in the storage resource of the hardware resource set of the composite information processing system.
[0195] In step 534, the second copy of the data is written to the tracking volume. Without departing from the present invention, the system control processor may write and store the second copy of the data to the tracking volume similarly to the method described above in step 532. Thus, the second copy of the data may be stored in the tracking volume of the complex information processing system. The second copy of the data may include the changed portion of the data since the last point in time. Without departing from the present invention, the tracking volume may include previously written data that is not associated with the second copy of the data.
[0196] In various embodiments of the present invention, without departing from the present invention, the methods of steps 532 and 534 may be performed by other components, such as computing resources of at least one computing resource set, while performing other management services (e.g., implementing RAID, ECC, etc.) on application data generated by applications executing on at least one computing resource set. The bare metal communication of step 530 may indicate that data has been written to the storage resource and the tracking volume. Based on obtaining the bare metal communication, the system control processor may perform the data protection service of step 536 using the tracking volume.
[0197] In step 536, a backup is generated using the second copy of the data stored in the tracking volume. The system control processor may monitor the tracking volume and identify a backup triggering event. The backup triggering event may be a protection policy obtained from the system control processor manager or another component indicating that a backup of the tracking volume is to be generated. The protection policy may be a data structure that includes events and / or conditions that, when identified by the system control processor, indicate that a backup is to be generated using the tracking volume. The protection policy may specify (i) an elapsed time period after which a backup is to be generated using the tracking volume, (ii) a point in time at which a backup is to be generated using the tracking volume, (iii) the occurrence of a prerequisite for a backup to be generated using the tracking volume, such as a modification to a resource of the composite information handling system, and (iv) any other event and / or condition that may result in a backup being generated using the tracking volume without departing from the present invention. Without departing from the present invention, the backup triggering event may include other events identified by the system control processor (e.g., obtaining a request from the system control processor). Figure 1.1 In response to identifying a backup triggering event, the system control processor may generate a backup of the second copy of the data included in the tracking volume. The backup may be a snapshot of the second copy of the data included in the tracking volume. The backup may be other and / or additional types of backups without departing from the present invention. After generating the backup, the system control processor may send the backup to a backup storage volume in the backup storage volume, which may store the backup.
[0198] In one or more embodiments of the present invention, the size of the second copy of the data is greater than the size of the tracking volume or the available space on the tracking volume. In such embodiments of the present invention, the system control processor may write a first portion of the second copy of the data that can be stored in the tracking volume to the tracking volume in step 534, and generate a backup of the portion of the second copy of the data via the method discussed in step 536. The system control processor may delete or overwrite the first portion of the second copy of the data and repeat steps 534 and 536 for the second portion of the second copy of the data. Without departing from the present invention, the system control processor may repeat steps 534 and 536 any number of times until the second copy of the data has been written to the tracking volume and backed up in its entirety.
[0199] The method may end after step 536 .
[0200] use Figure 5.3 The method described in [ 1 ] can implement data protection services for a composite information processing system. The data protection services can be transparent to applications executing on the computing resources of the composite information processing system. Therefore, the data protection services provided by the system control processor and tracking volume can be implemented without interrupting and / or hindering computer-implemented services provided by applications executing on the computing resources of the composite information processing system. Consequently, the execution efficiency of the composite information processing system can be improved.
[0201] To further illustrate the embodiments of the present invention, Figures 6.1 to 6.3 Non-limiting examples are provided in . Figure 6.1 Shows something like Figure 1.1 The system of systems shown in FIG. The actions performed by the components of the shown system are shown by numbered circular boxes that are partially interconnected using dashed lines. For simplicity, Figure 6.1 Only the Figure 1.1 A finite number of components of the system. Figure 6.2 to Figure 6.3 Shown by Figure 6.1 A diagram of an example of a data structure utilized by an exemplary system.
[0202] Example
[0203] Consider Figure 6.1 The scenario is shown where a client (602) sends a composite request to a system control processor manager (600) that manages an information handling system (610) at step 1. The composite request specifies that a composite information handling system is to be instantiated to execute a database application workload.
[0204] In response to the composite request, the system control processor manager (600) uses the Figure 6.3 The table shown in FIG is used to identify the computing resources to be allocated to the complex information processing system. Figure 6.3 As seen in FIG. 6 , the result-based computing resource requirement lookup table ( 660 ) includes an entry (eg, 662 ) associated with hosting of a database application.
[0205] The database application entry (662) is used by the system control processor manager (600) to determine the computing resource requirements of the composite information processing system. For example, the database application entry (662) specifies that a computing resource set (664), a control resource set (666), and a hardware resource set (668) need to be allocated to the composite information processing system to enable the composite information processing system to execute the workload associated with the database application. The computing resource set (664) specified by the entry includes one processor and one gigabyte of memory, the control resource set (666) includes a backup generation for stored data, and the hardware resource set (668) includes one terabyte of solid-state disk space. Using the information included in the database application entry (662), the system control processor manager (600) uses the following information: Figure 6.2 The telemetry data graph (640) shown in FIG. 1 is used to identify corresponding computing resource sets, control resource sets, and hardware resource sets for allocation to the composite information processing system.
[0206] like Figure 6.2 As seen in FIG. 6 , the telemetry data graph ( 640 ) includes entries ( 642 ) that specify resource sets and information processing systems (e.g., 610 , Figure 6.1 ) of these resource sets. For example, the telemetry data graph (640) includes hardware devices corresponding to the information processing system (610, Figure 6.1 ) associated with an entry (642) that specifies that the information processing system includes: a computing resource set (644) including a processor and memory, a control resource set (648) including a system control processor, and a hardware resource set (650) including a solid-state drive with two terabytes of storage space.
[0207] return Figure 6.1 , based on the inclusion of Figure 6.2 and Figure 6.3 Based on the information in the table shown in , the system control processor manager (600) determines at step 3 that the composite information processing system should be instantiated using the computing resource set A (612), system control processor (614), and solid state disk (616) of information processing system (610). In addition, to meet the storage space required by the virtual reality application, the system control processor manager (600) determines that a portion of the storage resources of the solid state disk (626) of information processing system B (620) and the system control processor (624) of information processing system B also need to be allocated to the composite information processing system. In addition, the system control processor manager (600) determines that the solid state disk will be used as both the storage resource (620) and the tracking volume (622).
[0208] Based on this determination, at step 4, a message indicating these resources of the information handling system (610) is sent to the system control processor (614). The message indicates that computing resource set A (612), one terabyte of solid-state drive (616) storage space will be allocated to the composite information handling system, and that the solid-state drive (616) will also be used as a tracking volume (622).
[0209] In response to the first message, at step 5, the system control processor (614) determines that a one-terabyte solid-state drive (616) should be presented by virtualizing the terabyte solid-state drive (616) as a storage resource (620). In addition, the system control processor (614) determines that a one-gigabyte solid-state drive (616) should be virtualized by virtualizing the gigabyte solid-state drive (616) to generate a tracking volume (622). The system control processor (614) generates a first appropriate address translation table associated with the storage resource (620) to present the one-terabyte storage volume as the storage resource (620). The system control processor (614) also generates a second appropriate address translation table associated with the tracking volume (622) to use the tracking volume (622) to store duplicate data written to the solid-state drive (616) and to back up the aforementioned data. The tracking volume (622) is not presented to the computing resource set A (612) and is transparent to the computing resource set A (612). At step 6, the system control processor uses the first appropriate address table and the second appropriate address table to obtain storage resources (620) and track volumes (622) from the solid state disk (616).
[0210] At step 7, the system control processor (614) determines that the data generated by the computing resource set A (612) is to be stored in the storage resource (620), copied and stored in the tracking volume (622), and according to Figure 6.3 The table is backed up using the tracking volume. Therefore, the system control processor (614) begins executing a duplicate write and backup generation application that uses the tracking volume (622) to generate a backup of the data generated by the computing resource set A (612). After this determination, at step 8, the system control processor presents the storage resource (620) as a bare metal resource to the computing resource set A (612) to obtain a composite information processing system.
[0211] At step 9, the database application executing on computing resource set A (612) generates data. Therefore, at step 10, computing resource set A (612) sends the generated data and bare metal communication to the system control processor (614), indicating that the data will be written to the storage resource (620).
[0212] In response to obtaining the bare metal communication and data, at step 11, the system control processor (614) generates two copies of the data: a first copy and a second copy. After generating the copies of the data, at step 12, the system control processor (614) writes the first copy of the data to the storage resource (620). Then, at step 13, the system control processor (614) writes the second copy of the data to the tracking volume (622).
[0213] After the second copy of the data is stored in the tracking volume (622), at step 14, the system control processor identifies a backup trigger event. The backup trigger event is that the tracking volume (622) has reached its data storage capacity because the second copy of the data is one gigabyte of data. In response to identifying the trigger event, the system control processor (614) generates a backup of the second copy of the data in the tracking volume (622). After generating the backup, at step 15, the system control processor (614) sends the backup to the backup storage volume (630), where the backup is stored.
[0214] End of the example
[0215] Therefore, if Figures 6.1 to 6.3 As shown in , embodiments of the present invention may provide a system that enables improved computer-implemented services to be provided using dynamically instantiated composite information processing systems via efficient allocation of computing resources.
[0216] As described above, embodiments of the present invention may be implemented using computing devices. Figure 7 A diagram of a computing device according to one or more embodiments of the present invention is shown. The computing device (700) may include one or more computer processors (702), non-permanent storage (704) (e.g., volatile memory, such as random access memory (RAM), cache memory), permanent storage (706) (e.g., a hard disk, an optical drive such as a compact disk (CD) drive or a digital versatile disk (DVD) drive, flash memory, etc.), a communication interface (712) (e.g., a Bluetooth interface, an infrared interface, a network interface, an optical interface, etc.), an input device (710), an output device (708), and numerous other elements (not shown) and functions. Each of these components is described below.
[0217] In one embodiment of the present invention, the one or more computer processors (702) can be integrated circuits for processing instructions. For example, the one or more computer processors can be single-core or multi-core or micro-core processors. The computing device (700) can also include one or more input devices (710), such as a touch screen, keyboard, mouse, microphone, touchpad, electronic pen, or any other type of input device. In addition, the communication interface (712) can include an integrated circuit for connecting the computing device (700) to a network (not shown) (e.g., a local area network (LAN), a wide area network (WAN) such as the Internet, a mobile network, or any other type of network) and / or another device, such as another computing device.
[0218] In one embodiment of the present invention, the computing device (700) may include one or more output devices (708), such as a screen (e.g., a liquid crystal display (LCD), a plasma display, a touch screen, a cathode ray tube (CRT) monitor, a projector, or other display device), a printer, external storage, or any other output device. One or more of the output devices may be the same as or different from one or more input devices. The one or more input devices and output devices may be connected locally or remotely to one or more computer processors (702), non-persistent storage (704), and permanent storage (706). Many different types of computing devices exist, and the one or more input devices and output devices may take other forms.
[0219] Embodiments of the present invention may provide a system and method for performing data protection services for a composite information processing system. Specifically, embodiments of the present invention may provide a system control processor manager that instantiates a composite information processing system and manages data protection services for the composite information processing by managing the operation of the system control processor. The system control processor may be used to allocate computing resources to different composite information processing systems by controlling the presentation of hardware resources to computing resource sets and preparing storage resources to be used as tracking volumes. The system control processor may use tracking volumes to perform data protection services based on bare metal communications obtained from the computing resource sets of the composite information processing system. The execution of the data protection services may be transparent to the computing resource sets of the composite information processing system and may not interfere with and / or hinder the computer-implemented services provided by the computing resource sets.
[0220] Therefore, embodiments of the present invention can solve the problem of executing data protection services for a composite system. For example, by utilizing a system control processor manager to set up, during instantiation of a composite information handling system, a system control processor and a tracking volume to execute data protection services, the data protection services can be efficiently executed for the composite information handling system using the system control processor and the tracking volume.
[0221] The problems discussed above should be understood as examples of problems solved by embodiments of the invention of the present invention, and the invention should not be limited to solving the same / similar problems. The disclosed invention is broadly applicable to solving a range of problems beyond those discussed herein.
[0222] One or more embodiments of the present invention may be implemented using instructions executed by one or more processors of a computing device. In addition, such instructions may correspond to computer-readable instructions stored on one or more non-transitory computer-readable media.
[0223] Although the present invention has been described above with respect to a limited number of embodiments, those skilled in the art having benefit of this disclosure will appreciate that other embodiments can be conceived without departing from the scope of the invention as such. Accordingly, the scope of the present invention should be limited only by the appended claims.
Claims
1. A system for managing a complex information processing system, comprising: information processing systems; The composite information processing system in the composite information processing system comprises: at least one computing resource set, at least one set of control resources, at least one hardware resource set; a system control processor programmed to: Obtaining a message indicating writing of data from the computing resource set; Writing the first copy of the data to a storage resource of the at least one hardware resource set; writing the second copy of the data to a tracking volume, wherein the tracking volume comprises a data structure including a plurality of second copies of the data, the plurality of second copies including the second copy of the data, and the tracking volume is stored in a storage resource implemented by the system control processor as a circular memory bank of finite storage size; generating a backup of the data using the tracking volume; and storing the backup in a storage volume; and A system control processor manager programmed to: Before the system control processor obtains the message: obtaining a composite request for the composite information processing system; identifying the storage resource capable of serving as the tracking volume based on specified tracking volume characteristics, wherein the tracking volume characteristics include a size of the tracking volume; setting a management service for the at least one hardware resource set and the storage resource using the at least one control resource set to obtain a logical hardware resource, wherein the management service includes copying write data related to the logical hardware resource to the tracking volume; and The logical hardware resources are presented as bare metal resources to the at least one computing resource set using the at least one control resource set to instantiate the composite information processing system to service the composite request.
2. The system of claim 1, wherein the system control processor includes the storage resource.
3. The system of claim 1, wherein the at least one set of hardware resources comprises the storage resource.
4. The system of claim 1 , wherein: The at least one set of computing resources includes computing resources of a first information handling system among the information handling systems; and The at least one hardware resource set includes a first hardware resource of a second information processing system among the information processing systems and a second hardware resource of a third information processing system among the information processing systems.
5. The system of claim 1, wherein the at least one set of control resources comprises the system control processor.
6. The system of claim 5, wherein setting the management service for the at least one hardware resource set using the at least one control resource set to obtain logical hardware resources comprises: identifying the storage resource among the storage resources to be used as the tracking volume during performance of the management service; as well as The at least one hardware resource set, the storage resources, and the at least one control resource set are prepared to perform copy-on-write using the tracking volume, and to obtain logical hardware resources.
7. The system of claim 6, wherein at least a portion of the management service is transparent to all applications executing on the at least one set of computing resources.
8. The system of claim 7, wherein said at least a portion of said management services comprises: writing the first copy of the data to the storage resource of the at least one hardware resource set; writing the second copy of the data to the tracking volume; generating a backup of the data using the tracking volume; and The backup is stored in the storage volume.
9. The system of claim 8, wherein generating the backup of the data using the tracking volume comprises: Identify backup triggering events; as well as A snapshot of the data in the tracking volume is generated based on the triggering event.
10. The system of claim 9, wherein the backup triggering event comprises the tracking volume reaching a specified data capacity.
11. A method for managing a complex information processing system, comprising: Obtaining, by a system control processor of the composite information processing system in the composite information processing system, a message indicating writing of data from a computing resource set; Writing a first copy of the data to a storage resource of at least one hardware resource set; writing the second copy of the data to a tracking volume, wherein the tracking volume comprises a data structure including a plurality of second copies of the data, the plurality of second copies including the second copy of the data, and the tracking volume is stored in a storage resource implemented by the system control processor as a circular memory bank of finite storage size; generating a backup of the data using the tracking volume; storing the backup in a storage volume; Wherein, before the system control processor obtains the message: Obtaining, by a system control processor manager, a composite request for the composite information processing system; identifying a storage resource capable of being used as the tracking volume based on specified tracking volume characteristics, wherein the tracking volume characteristics include a size of the tracking volume; Setting a management service for the at least one hardware resource set and the storage resource using at least one control resource set to obtain a logical hardware resource, wherein the management service includes copying write data related to the logical hardware resource to the tracking volume; and The logical hardware resources are presented as bare metal resources to at least one computing resource set using the at least one control resource set to instantiate the composite information processing system to service the composite request.
12. The method of claim 11 , wherein setting the management service for the at least one hardware resource set using the at least one control resource set to obtain logical hardware resources comprises: identifying a storage resource among the storage resources to be used as the tracking volume during performance of the management service; as well as The at least one hardware resource set, the storage resources, and the at least one control resource set are prepared to perform copy-on-write using the tracking volume, and to obtain logical hardware resources.
13. The method of claim 12, wherein at least a portion of the management service is transparent to all applications executing on the at least one set of computing resources.
14. A non-transitory computer-readable medium comprising computer-readable program code that, when executed by a computer processor, enables the computer processor to perform a method for managing a complex information handling system, the method comprising: Obtaining, by a system control processor of the composite information processing system in the composite information processing system, a message indicating writing of data from a computing resource set; Writing a first copy of the data to a storage resource of at least one hardware resource set; writing the second copy of the data to a tracking volume, wherein the tracking volume comprises a data structure including a plurality of second copies of the data, the plurality of second copies including the second copy of the data, and the tracking volume is stored in a storage resource implemented by the system control processor as a circular memory bank of finite storage size; generating a backup of the data using the tracking volume; storing the backup in a storage volume; Wherein, before the system control processor obtains the message: Obtaining, by a system control processor manager, a composite request for the composite information processing system; identifying a storage resource capable of being used as the tracking volume based on specified tracking volume characteristics, wherein the tracking volume characteristics include a size of the tracking volume; Setting a management service for the at least one hardware resource set and the storage resource using at least one control resource set to obtain a logical hardware resource, wherein the management service includes copying write data related to the logical hardware resource to the tracking volume; and The logical hardware resources are presented as bare metal resources to at least one computing resource set using the at least one control resource set to instantiate the composite information processing system to service the composite request.
15. The non-transitory computer-readable medium of claim 14, wherein setting the management service for the at least one hardware resource set using the at least one control resource set to obtain logical hardware resources comprises: identifying a storage resource among the storage resources to be used as the tracking volume during performance of the management service; as well as The at least one hardware resource set, the storage resources, and the at least one control resource set are prepared to perform copy-on-write using the tracking volume, and to obtain logical hardware resources.
16. The non-transitory computer-readable medium of claim 15, wherein at least a portion of the management service is transparent to all applications executing on the at least one set of computing resources.
Citation Information
Patent Citations
Optimizing dynamical resource allocations based on locality of resources in disaggregated data centers
US20190356731A1
Method and system for asynchronous pre-staging of backup copies in a data processing storage subsystem
US5375232A
Restoring system state from volume shadow copy service by mounting disks
US7478117B1