Systems and methods for replicating stored representations in application orchestration
By establishing a mapping between applications and storage volumes between data centers, the problem of automated management of storage volume replication during migration is solved, achieving seamless migration and efficient utilization of storage resources. It is suitable for application orchestration systems in both public and private clouds.
Patent Information
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2019-04-25
- Publication Date
- 2026-04-03
AI Technical Summary
When migrating applications between different data centers, existing technologies struggle to automate the management and coordination of storage volume replication, leading to inefficient use of storage resources and complexity in the migration process.
By creating storage volumes in the first data center and sending information identifying the application to the second data center, a mapping between the application and the storage volume is established. This ensures that the application can automatically locate its storage data during the migration process. The mapping information is used to bind the application reference to the storage location, providing an automated and seamless migration process.
It enables seamless application migration between different data centers, avoids complex coordination processes, improves the utilization efficiency of storage resources, and supports the integration of cross-platform orchestrators, suitable for public and private cloud environments.
Smart Images

Figure CN112970009B_ABST
Abstract
Description
[0001] Cross-citation of related applications
[0002] This invention claims priority to U.S. Provisional Application No. 62 / 781270, filed December 18, 2018, entitled “System and Method for Replication of Storage Presentation in Application Orchestration,” which is incorporated herein by reference in its entirety. Technical Field
[0003] This disclosure generally relates to cloud computing and orchestration, and in specific embodiments, to a system and method for replicating stored representations in application orchestration. Background Technology
[0004] Cloud computing offers immense flexibility, facilitating the access and provisioning of computing resources according to customer needs and demands. Data centers are designed to provide a variety of resources for cloud computing. Data centers can deploy and execute various applications to provide cloud-based services. Application orchestration systems are well-known for orchestrating applications deployed within data centers. These systems can manage and provision various resources, such as servers, memory, storage, databases, and network resources, to execute applications. In some cases, workloads can be migrated, and data can be moved between different data centers, such as in public clouds, private clouds, public hybrid clouds, or private hybrid clouds containing application containers and virtual machines. For cloud computing, especially in hybrid cloud environments, it would be desirable to have systems and methods that facilitate workload migration between data centers. Summary of the Invention
[0005] According to a preferred embodiment of this disclosure, a computer-implemented method is provided, comprising, in response to receiving a request for copying a storage volume from a second data center, creating a first storage volume at a first data center for an application executing at the second data center using one or more processors. The first storage volume copies a second storage volume created at the second data center for the application. The computer-implemented method further comprises: receiving information identifying the application from the second data center; and at the first data center, establishing a mapping between the application and the first storage volume using the information identifying the application. The computer-implemented method further comprises: identifying the first storage volume at the first data center based on the mapping when the execution of the application moves from the second data center to the first data center. The information identifying the application may include an application storage reference for the application, the application storage reference being used to identify the storage of the application. The computer-implemented method may further comprise: locating data associated with the application based on the mapping between the application and the first storage volume.
[0006] According to another preferred embodiment of this disclosure, a computer-implemented method is provided, comprising: creating a first storage volume for an application launched at a first data center using one or more processors; and, after creating the first storage volume, communicating with a second data center to create a second storage volume for the application at the second data center. The second storage volume is a copy of the first storage volume. The computer-implemented method further comprises: sending information identifying the application to the second data center for use by the second data center to identify the second storage volume of the application when the execution of the application moves from the first data center to the second data center; and, at the first data center, establishing a mapping between the application and the first storage volume using the information identifying the application. The information identifying the application includes an application storage reference for the application, the application storage reference being used to identify the storage of the application. The computer-implemented method further comprises: locating data associated with the application based on the mapping between the application and the first storage volume.
[0007] According to embodiments of this disclosure, a first data center creates a first storage volume for an application launched at the first data center, communicates with a second data center to create a second storage volume for the application at the second data center to replicate the first storage volume, and sends information identifying the application to the second data center. The second data center creates the second storage volume and establishes a mapping between the application and the second storage volume using the application identification information. Therefore, by using the application identification information sent from the first data center to the second data center, the second data center can associate the application with the second storage volume replicating the first storage volume at the first data center. Thus, when the application migrates from the first data center to the second data center, the second data center can locate the second storage volume associated with the application (and therefore locate the data) based on the mapping between the application and the second storage volume.
[0008] In this way, orchestration systems in different data centers use mapping information to bind application references to storage locations and provide data to applications, thereby avoiding complex coordination between different orchestration systems and providing an automated process to ensure seamless migration of applications between data centers with available data. Implementations can be combined with cross-platform orchestrators and can be used in various public or private clouds. Attached Figure Description
[0009] To gain a more complete understanding of this disclosure and its advantages, reference is now made to the following description taken in conjunction with the accompanying drawings, in which:
[0010] Figure 1 A diagram illustrating an implementation architecture for application orchestration between data centers;
[0011] Figure 2 A diagram illustrating another embodiment of the architecture for application orchestration between data centers;
[0012] Figure 3 Illustrations of an embodiment method for orchestrating an application;
[0013] Figure 4 Illustration of another embodiment of an application orchestration method;
[0014] Figure 5 This is a diagram illustrating a hybrid cloud architecture for an example.
[0015] Figure 6 A flowchart illustrating an embodiment of a method for application orchestration;
[0016] Figure 7 A flowchart illustrating an embodiment of a method for application orchestration;
[0017] Figure 8An illustration of the processing system for an embodiment; and
[0018] Figure 9 This is a diagram of a transceiver for an example embodiment. Detailed Implementation
[0019] The embodiments of this disclosure provide a method for replicating storage representations for an application across data centers. A storage representation can refer to information used by an orchestration system to arrange and locate physical storage for an application. In an illustrative example, the storage representation of an application may include application identification information and a physical storage device ID that identifies the physical storage allocated to store data associated with the application. For example, a tuple of {"My Pictures Database belonging to the My Pictures App", "LUN X on SCSI target Y"} can be used to represent the storage representation of the "My Pictures App" application. Such information can be used to map physical storage to the application. Replicating a storage representation can be referred to as transferring one or more pieces of storage representation information from one data center to another. The transferred information can be adapted to make it meaningful to an orchestrator receiving the information in one data center. For example, in the data center receiving the information, "LUN X on SCSI target Y" can be adapted to (or changed to) "LUN Z on SCSI target W".
[0020] One embodiment of the method involves creating a first storage volume for an application launched at a first data center, communicating with a second data center to create a second storage volume for the application at the second data center to replicate the first storage volume, sending application identification information to the second data center, and establishing a mapping between the application and the first storage volume at the first data center using the application identification information. The second data center creates the second storage volume, receives the application identification information, and establishes a mapping between the application and the second storage volume using the application identification information. When the application migrates from the first data center to the second data center, the second data center can locate data in the second storage volume for the application based on the mapping established between the application and the second storage volume. The second data center can also replicate data and metadata associated with the application from the first data center. In this way, the storage representation of the application at the first data center is replicated at the second data center, and the application's storage representation continues to be used at the second data center when the application migrates from the first data center to the second data center.
[0021] Application orchestration systems provide mechanisms for the automated deployment, scaling, management, and operation of containerized applications, such as application startup, monitoring, dismantling, or migration. Application orchestration systems manage and provision resources, such as server, memory, storage, and network resources, to execute applications. Application orchestration systems can be implemented as software, such as software modules or micro-modules, and can be centralized or distributed systems. Application orchestration systems can be deployed in the cloud, data centers, servers, or any computer system.
[0022] Modern application orchestration systems provide a mechanism for retrieving an application's storage to achieve greater portability. Using this mechanism, applications reference their storage in a way that is application-specific, not environment-specific. That is, the application does not need to know where the physical storage for the data associated with the application is located. Instead, the application can reference storage simply using an application-specific reference or name. The application orchestration system is responsible for finding (and / or creating) the application's physical storage and making the physical storage available to the application. For example, an application for "My Pictures Database" could use the name or reference "My Pictures Storage" instead of "LUN X on WWN W" or "Shared S on NFS Server N" to refer to its storage. An application-specific reference or name that refers to an application's storage can be called an application storage reference. The application orchestration system uses the application's application storage reference to create and / or locate the application's physical storage. Throughout this disclosure, the terms "storage" and "physical storage" are used interchangeably.
[0023] The aforementioned mechanism for extracting application storage typically works well within an orchestration cluster (e.g., a data center). However, even when data is copied between orchestration clusters via the underlying storage system, it does not automatically function across the clusters. The orchestration cluster discussed herein may be referred to as a resource cluster, such as storage, compute, networking, services, etc., that can be provisioned for executing applications. The following description presents an illustrative example of using a data center as an orchestration cluster. An application orchestration system can be used to orchestrate applications deployed within an orchestration cluster. The data center can be logical, physical, or virtualized. The following description uses an application orchestration system deployed in a data center as an illustrative example. However, those skilled in the art will recognize that embodiments of this disclosure can also be applied to application orchestration systems deployed in various suitable orchestration clusters or platforms.
[0024] Figure 1This is an illustration of an embodiment architecture 100 for application orchestration across data centers. As shown, architecture 100 includes data center 110 and data center 120. Data center 110 or data center 120 can be cloud-based or on-premises. Each of data center 110 and data center 120 uses an application orchestration system to orchestrate applications. Data center 110 and data center 120 may use the same application orchestration system or different application orchestration systems. Data center 110 and data center 120 each include orchestrator 112 and orchestrator 122, respectively. An orchestrator, as used herein, may be referred to as a logical entity in an orchestration system used to manage and provision resources for executing applications. Each of data center 110 and data center 120 also includes an associated storage system (not shown) for managing data and information storage. The storage systems in architecture 100 can be used to provide the ability to replicate storage volumes across different data centers. A storage volume is a storage space that can be identified using an identifier such as a volume number. Storage identifiers, such as storage volumes, can also be associated with characteristic information about the storage volume, such as storage size, storage access type (e.g., block or file), or storage performance (e.g., fast or slow storage).
[0025] When application 130 (e.g., for providing associated services) starts in data center 110, orchestrator 112 may request its associated storage system in step 132 to create a new storage volume for application 130. In response, the storage system associated with data center 110 creates storage volume 114, i.e., storage volume Y. Multiple storage volumes may be created for application 130. Storage volume 114 may be identified by a volume number such as volume 17. When creating storage volume Y (114), the storage system associated with data center 110 also communicates with one or more storage systems in other data centers to create a replica of storage volume Y. As shown, in step 134, the storage system associated with data center 110 and the storage system associated with data center 120 communicate to create a replica of storage volume Y. Communication between different data centers may be wireless or wired communication. Thus, the storage system associated with data center 120 creates storage volume Y' (124), which replicates storage volume Y (114) in data center 110. Storage volume 124 can be identified by a volume number such as volume 73. When a replicated storage volume Y'(124) is created, data stored in storage volume Y(114) associated with application 130 can also be replicated to storage volume Y'(124). However, although storage volume Y'(124) is created in data center 120, data center 120 (e.g., orchestrator 122) does not know which application storage volume Y'(124) is associated with or belongs to.
[0026] In some cases, application 130 may be migrated from data center 110 to data center 120. In this case, the resources of data center 120 will be used to execute application 130, which was started in data center 110. That is, the execution of the application moves from data center 110 to data center 120. This may occur when workloads need to move between data centers. For example, the servers in data center 110 may be down (e.g., due to a power outage or failure) or undergoing maintenance, or data center 110 may be overloaded. In these cases, data center 110 cannot support the operation of application 130, and application 130 needs to be moved to another data center (e.g., data center 120) to continue providing the relevant services. In another instance, communication paths to or from data center 110 may encounter severe congestion, or customers may be closer to another data center than data center 110. In these cases, application 130 can be migrated to another data center so that higher quality services can be provided to customers. Data center 110 can be called the primary data center for application 130, and data center 120 can be called the secondary data center for application 130, because application 130 is launched in data center 110 and migrated to data center 120.
[0027] When application 130 migrates to data center 120, in one instance, since orchestrator 122 is unaware that a storage volume Y' has already been created for application 130, orchestrator 122 can treat application 130 as a new application launched in data center 120, thereby creating storage volume 126 for application 130 in step 136. In this case, two different storage volumes, 124 and 126, are created in data center 120 for the same application 130. Storage volume 124 may contain data of application 130 generated during the execution of application 130 in data center 110 (and copied to storage volume 124), while storage volume 126 does not contain said data. Therefore, this leads to inefficient use of storage space in data center 120. In another example, orchestrator 122 may not create storage volume 126. Instead, at step 138, orchestrator 122 communicates with orchestrator 112 to determine whether a storage volume has already been created for application 130 in data center 120, for example, whether storage volume 124 is used for application 130 (or associated with it). As an illustrative example, orchestrator 122 may send messages to orchestrator 112 including information such as "Do you know volume Y'?", "What is the relationship between Y and Y'?", or "Are you sure volume Y' has data for application 130?". In this case, the orchestrators must explore each other to find out the relationship between the storage volume and the application in order to use the storage volume for the application.
[0028] The methods provided by embodiments of this disclosure facilitate the use of replicated storage volumes in a data center for applications migrated from another data center. Figure 2 This is an illustration of an embodiment architecture 200 for application orchestration across data centers. As shown, architecture 200 includes data center 210 and data center 220. Data center 210 and data center 220 are similar to... Figure 1 Data centers 110 and 120 are shown. Data center 210 or 220 can be cloud-based or on-premises. Data centers 210 and 220 can be deployed in public, private, or hybrid clouds. Each of data centers 210 and 220 uses an application orchestration system to orchestrate applications. Data centers 210 and 220 can use the same application orchestration system or different application orchestration systems. Data centers 210 and 220 each include orchestrator 212 and orchestrator 222, respectively. Each of data centers 210 and 220 also includes an associated storage system (not shown) for managing data and information storage. The storage system provides the ability to replicate storage volumes between different data centers.
[0029] Application 230 starts in data center 210 and executes using resources provisioned by orchestrator 212. In step 232, orchestrator 212 may request its associated storage system to create a new storage volume for application 230. In response, the storage system associated with data center 210 creates storage volume 214, i.e., storage volume Y. Storage volume 214 can be identified by, for example, a volume number such as volume 17. During the creation of storage volume Y (214), in step 234, the storage system associated with data center 210 and the storage system associated with data center 220 communicate to create a replica of storage volume Y (214). Thus, the storage system associated with data center 220 creates storage volume Y' (224), which replicates storage volume Y (214) in data center 210. Storage volume 224 can be identified by, for example, a volume number such as volume 73. With the creation of a replicated storage volume Y'(224), data stored in storage volume Y(214) associated with application 130 can also be replicated to storage volume Y'(224). Storage volume Y(214) can be synchronized with storage volume Y'(224).
[0030] At step 236, the storage system associated with data center 210 sends information identifying application 230 to data center 220, where storage volume 214 was created for application 230. This can be viewed as data center 210 copying the information identifying application 230 to data center 220. The information identifying application 230 may include application-specific information, such as identification information or metadata (e.g., a manifest). The information identifying application 230 may be used by application 230 to reference storage and by orchestrator 212 to locate the physical storage volume 214 of application 230. In one instance, the information identifying application 230 may be an application storage reference for application 230, such as the "Image Collection Storage" of the example application "My Image Database" described above. Application storage references are used by applications to reference their storage. For example, the application "Image Collection Database" uses "Image Collection Storage" to reference its storage, and the orchestrator uses "Image Collection Storage" to identify the physical storage of the application. Steps 234 and 236 can be performed during communication between the storage system associated with data center 210 and the storage system associated with data center 220. The storage system associated with data center 220 can then collaborate with orchestrator 222 to establish a mapping between the application and storage volume 224, for example, in a manner specific to the data center 220 environment, using information identifying application 230 (e.g., application storage reference of application 230). Storage volumes in different data centers may differ; for example, volumes may use different identifiers, have different structures, or have different numbering. Therefore, storage volumes in a data center can be data center-specific, and the mapping established between the storage volume and the application can also be data center-specific. For example, the mapping for application 230 in data center 210 may include tuples (“Image Collection Storage”, 17), and a similar mapping in data center 220 may include tuples (“Image Collection Storage”, 73). Thus, a mapping is established between the application storage reference of application 230 and storage volume 224. Storage volume 224 is associated with application 230. When application 230 is migrated from data center 210 to data center 220, orchestrator 222 is able to determine the existence of a storage volume (i.e., storage volume 224) already created for the migrated application 230 by using the mapping established between application 230 and storage volume 224, and thus is able to locate the data of application 230 in storage volume 224. In this case, orchestrator 222 does not need to communicate with orchestrator 212 to determine the relationship between the application and the replicated storage volume 224; nor does orchestrator 222 need to create a new storage volume when migrating application 230 to data center 220.
[0031] When storage volume 214 is created, the storage system associated with data center 210 can collaborate with orchestrator 212 to establish a mapping between application 230 and storage volume 214 using information identifying application 230—such as application storage references of application 230. Therefore, a mapping is established between application storage references of application 230 and storage volume 214, and storage volume 214 is associated with application 230. By using the mapping between application 230 and storage volume 214, orchestrator 212 is able to locate storage volume 214 of application 230 within data center 210.
[0032] In some embodiments, the information identifying the application may not be copied verbatim. The application-identifying information, such as metadata, may be modified to reflect differences in the storage environment. For example, the application's storage, "Image Collection Storage," may reside on volume 17 in data center 210, and volume 17 may be copied to volume 73 in data center 220. Therefore, the mapping established in data center 220 may need to reference volume 73 instead of 17. In some embodiments where different application orchestration systems are used in the data centers, copying the application-identifying information may include format conversion. For example, an application storage reference for application 230 in data center 210 may be represented by a string, while data center 220 may use a different method to represent the application storage reference, such as using a numeric ID. In this case, copying the application storage reference from data center 210 to data center 220 may include converting the string of the application storage reference into a numeric ID (which can be generated using a string) and then copying the numeric ID in data center 220.
[0033] In some embodiments, data centers 210 and 220 may include agents 216 and 226, respectively. The agents described herein act as intermediaries for communication between the orchestration system and the storage system. The agents can automatically and accurately transmit the logic between the application and storage to the orchestrator. The orchestrator does not need to add additional logic to identify storage attributes. The agents can work seamlessly with all types of orchestrators. In one embodiment, in response to a request from the orchestrator, the agent can communicate with the storage system to create a storage volume for the application. For example, when an application is launched in data center 210, orchestrator 212 can request the storage system associated with data center 210 to create storage volume 214 via agent 216. In another embodiment, the agent can use the replication capabilities of the storage system and, for example, as in step 236, send information identifying the application running in one data center to a different data center via the storage system. In another embodiment, for example, as in steps 238 and 240, the agent can help the orchestrator establish a mapping between the application and the storage volume by using information identifying the application. Agents 226 and 216 can obtain information identifying the application from the corresponding storage volumes 224 and 214 and provide this information to the corresponding orchestrators 222 and 212 for mapping. In another embodiment, the agents can also use the replication capabilities of the storage system to replicate metadata between different data centers. If needed, the storage replication layer of the storage system can replicate not only data but also any metadata associated with the application. Metadata may include application attributes or status in the data centers, and / or storage attributes or status. Metadata can be transferred (replicated) to one or more other data centers (or sites). Knowledge of storage—such as storage attributes or status—can provide greater flexibility for the orchestrator to select the correct storage for the application for various purposes such as failover, migration, snapshots, or performance. The agents can be implemented as software and can be integrated with the orchestration system or storage system.
[0034] exist Figure 2 In the illustrated embodiment, information identifying application 230 is used to establish a mapping between application 230 and its storage volume in the corresponding data center. The orchestrator can then locate the physical storage of the application in the corresponding data center based on this mapping. The information identifying the application may also include other metadata used by application 230 to reference associated resources in the data center, such as databases, communication paths, servers, etc. This information can be used to establish a mapping between the application and associated resources, and to help locate associated resources during application migration between different data centers.
[0035] Figure 3An illustration of an embodiment method 300 for application orchestration. In this example, a first data center has an application orchestration system including an orchestrator 302 and a storage system 304. A second data center has an application orchestration system including an orchestrator 306 and a storage system 308. The application can migrate between the first and second data centers. As shown, in step 322, the orchestrator 302 starts the application in the first data center. In step 324, the orchestrator 302 requests the storage system 304 to create a storage volume for the application. In step 326, in response to the request, the storage system 304 creates storage volume Y. In step 328, the storage system 304 requests the storage system 308 to replicate storage volume Y in the second data center. One or more replication policies can be defined for replicating storage volumes in data centers. Based on the replication policy, in one instance, the storage system 304 can automatically replicate the newly created volume. The replication policy can define whether to replicate the storage volume. The replication policy can further define the location to be replicated (i.e., determining other data centers to replicate the storage volume to) and how many copies to make. The replication policy can also specify the replication type (e.g., synchronous or asynchronous), service level agreement (SLA), quality of service (QoS), or other performance characteristics. In response, in step 330, storage system 308 creates storage volume Y' of the replicated storage volume Y. In step 332, storage system 304 sends the application's identification information to storage system 308. Prior to step 332, in one instance, storage system 304 may request the application identification information from orchestrator 302 upon receiving a request to create a volume for an application. In another instance, orchestrator 302 may send the application's identification information to storage system 304, for example, periodically, upon a request from the storage system or agent, or when a request to create a volume for an application is sent in step 324. Steps 326, 328, and 332 can be performed simultaneously. Step 330 can be performed after step 332. In step 334, storage system 308 collaborates with orchestrator 306 to map the application to the replicated storage volume Y' using the application's identification information. In step 336, storage system 304 collaborates with orchestrator 302 to map the application to replicated storage volume Y using the application's identification information. Step 334 may be performed before, after, or concurrently with step 336. After the application is migrated to the second data center, orchestrator 306 is able to locate the application's data using the mapping between the application and replicated storage volume Y'.
[0036] Figure 4An illustration of another embodiment of an application orchestration method 400. In this example, a first data center has an application orchestration system including an orchestrator 402, an agent 404, and a storage system 406. A second data center has an application orchestration system including an orchestrator 412, an agent 414, and a storage system 416. The application can migrate between the first and second data centers. As shown, in step 422, the orchestrator 402 starts the application in the first data center. In step 424, the orchestrator 402 requests the agent 404 to create a storage volume for the application. In step 426, the agent 404 requests the storage system 406 to create a storage volume. In step 428, in response, the storage system 406 creates storage volume Y. In step 430, the storage system 406 requests the storage system 416 to copy storage volume Y in the second data center. In step 432, in response, the storage system 416 creates a storage volume Y' that copies storage volume Y. In step 434, the agent 404 requests the storage system 406 to copy the application's identification information to the application's storage system 416. Steps 426 and 434 can be combined into one step and executed simultaneously. In step 436, storage system 406 copies the application's identification information to storage system 416. Steps 430 and 436 can be combined into one step and executed simultaneously. In step 438, agent 414 interacts with orchestrator 412 and storage system 416 to create a mapping between the application and storage volume Y' using the application's identification information. In step 440, agent 404 interacts with orchestrator 402 and storage system 406 to create a mapping between the application and storage volume Y using the application's identification information.
[0037] Embodiments of this disclosure provide modifications to the storage replication mechanism to enable integration with application orchestration systems in different data centers and to replicate information such as metadata, which can be used by the orchestrator to perform mappings between application-specific, environment-independent storage references and the physical storage provided by the storage system. Orchestrators in different data centers, replicating data for a specific application, can create mappings between environment-independent application storage references and the corresponding physical storage in the data center. Whenever an application is restarted in any of these data centers, the application automatically gains access to its data from previous calls, regardless of where it was previously run. Therefore, the orchestrator can precisely pair the replication relationships of datasets (or volumes) with the volume representation provisioning of the application. An application launched in a data center may submit its storage requirements to the orchestrator, which can check for a corresponding mapping between the application and the storage volume containing the application's source data based on the application's storage reference. If the orchestrator cannot find a mapping for the application, it may create one. The orchestration system uses the mapping information to bind the application reference to the storage location and provides the data to the application. The embodiments of this disclosure eliminate the need for complex coordination between different orchestration systems, instead providing an automated process to ensure seamless migration of applications between data centers where data is available. The embodiments also eliminate the need for communication between two orchestration systems related to replicated volumes presented to applications using the same dataset. The embodiments can be combined with cross-platform orchestrators such as Kubernetes and are applicable to various public or private clouds.
[0038] Figure 5 Examples of the use of the methods described in the embodiments of this disclosure. Figure 5This is an illustration of a hybrid cloud architecture 500. Architecture 500 includes an on-premises data center 510 and a public cloud-based data center 520 (e.g., in a Google Cloud environment or AWS environment). Data center 510 includes application front-ends located at the physical location of data center 510, and data center 520 includes application front-ends located in the US central region of Google Cloud. The application front-end provides a user access point (e.g., web-based) for applications and can perform load balancing, prioritization, and queuing services. Each of data centers 510 and 520 may include storage, such as block storage. Data centers 510 and 520 may support elastic computing. For example, computing resources may scale up and down in response to workload changes. Each of data centers 510 and 520 deploys various applications, such as those for DR, scale-out, or other types of processing. An orchestration system (e.g., a Kubernetes service) is used to orchestrate the applications. The execution of applications may involve data management and operations, such as storing or retrieving data from storage. For example, an application running in the data center may need to look up data upon startup, restart, or scale-out. In some cases (e.g., due to workload changes), applications migrate from data center 510 to data center 520, and datasets need to be replicated between the data centers. Using the implementation method, application storage references of the application (sent from data center 510 to data center 520) can be replicated between the on-premises cloud and the public cloud, and based on this, the orchestration system (orchestrator) in data center 520 can establish a mapping between the application and the storage space storing the replicated data of the application in data center 520. Therefore, when migrating an application to data center 520, the orchestration system in data center 520 can use the mapping to locate the application's data.
[0039] Figure 6 This is a flowchart of a computer implementation method 600 for an embodiment of application orchestration. As shown, in step 602, method 600 creates a first storage volume for an application launched at a first data center. In step 604, method 600 communicates with a second data center to create a second storage volume for the application at the second data center. Step 604 is performed after the first storage volume is created. The second storage volume copies the first storage volume. In step 606, when the execution of the application moves from the first data center to the second data center, method 600 sends information identifying the application to the second data center for the second data center to identify the second storage volume of the application. In step 608, the method establishes a mapping between the application and the first storage volume at the first data center using the information identifying the application.
[0040] Figure 7 This is a flowchart of a computer implementation method 700 for an embodiment of application orchestration. As shown, in step 702, in response to receiving a request for storage volume replication from a second data center, method 700 creates a first storage volume at a first data center for an application running in the second data center. The first storage volume replicates a second storage volume created for the application at the second data center. In step 704, the method receives information identifying the application from the second data center. In step 706, method 700 establishes a mapping between the application and the first storage volume at the first data center using the application identification information. In step 708, when the execution of the application moves from the second data center to the first data center, method 700 identifies the first storage volume at the first data center according to the mapping.
[0041] The methods of this disclosure can be computer-implemented methods and executed using one or more processors. The methods can be embodied in the form of a software product. The software product can be stored in a pre-recorded storage device or other similar non-volatile or non-transitory computer-readable medium, such as a DVD, CD-ROM, USB flash drive, removable hard drive, or other storage medium. The software product includes instructions tangibly stored thereon that enable a processing device (e.g., a personal computer, server, or network device) to perform embodiments of the methods disclosed herein.
[0042] Figure 8 This is a block diagram of an embodiment processing system 800 for performing the methods described herein, wherein the embodiment processing system 800 may be installed in a host device. As shown, the processing system 800 includes a processor 804, a memory 806, and interfaces 810-814, which may (or may not) be configured with... Figure 8 The processor 804 can be any component or set of components for performing computational and / or other processing-related tasks, and the memory 806 can be any component or set of components for storing programming and / or instructions executed by the processor 804. In embodiments, the memory 806 includes a non-transitory computer-readable medium. Interfaces 810, 812, and 814 can be any component or set of components that allow the processing system 800 to communicate with other devices / components and / or users. For example, one or more of interfaces 810, 812, and 814 can be used to transfer data, control, or management information from the processor 804 to an application installed on a host device and / or a remote device. As another example, one or more of interfaces 810, 812, and 814 can be used to allow a user or user device (e.g., a personal computer (PC)) to interact / communicate with the processing system 800. The processing system 800 may include Figure 8 Additional components not described herein, such as long-term storage (e.g., non-volatile memory, etc.).
[0043] In some embodiments, the processing system 800 is included in a network device that accesses a telecommunications network or is otherwise part of a telecommunications network. In one instance, the processing system 800 is located in a network-side device within a wireless or wired telecommunications network, such as a base station, relay station, scheduler, controller, gateway, router, application server, or any other device within the telecommunications network. In other embodiments, the processing system 800 is located in a user-side device that accesses a wireless or wired telecommunications network, such as a mobile station, user equipment (UE), personal computer (PC), tablet computer, wearable communication device (e.g., smartwatch), or any other device used for accessing the telecommunications network.
[0044] In some embodiments, one or more of interfaces 810, 812, 814 connect the processing system 800 to a transceiver for transmitting and receiving signaling over a telecommunications network. Figure 9 This is a block diagram of a transceiver 900 for transmitting and receiving signaling over a telecommunications network. The transceiver 900 can be installed in a host device. As shown, the transceiver 900 includes a network-side interface 902, a coupler 904, a transmitter 906, a receiver 908, a signal processor 910, and a device-side interface 912. The network-side interface 902 may include any component or set of components for transmitting or receiving signaling over a wireless or wired telecommunications network. The coupler 904 may include any component or set of components for facilitating bidirectional communication through the network-side interface 902. The transmitter 906 may include any component or set of components (e.g., an up-converter, a power amplifier, etc.) for converting a baseband signal into a modulated carrier signal suitable for transmission over the network-side interface 902. The receiver 908 may include any component or set of components (e.g., a down-converter, a low-noise amplifier, etc.) for converting a carrier signal received through the network-side interface 902 into a baseband signal. Signal processor 910 may include any component or set of components for converting baseband signals into data signals suitable for communication via device-side interface 912, and vice versa. Device-side interface 912 may include any component or set of components for transmitting data signals between signal processor 910 and components within host device (e.g., processing system 800, local area network (LAN) port, etc.).
[0045] Transceiver 900 can transmit and receive signaling via any type of communication medium. In some embodiments, transceiver 900 transmits and receives signaling via a wireless medium. For example, transceiver 900 may be a wireless transceiver for communicating according to wireless telecommunication protocols such as cellular protocols (e.g., long-term evolution, LTE), wireless local area network (WLAN) protocols (e.g., Wi-Fi), or any other type of wireless protocol (e.g., Bluetooth, near field communication, NFC). In such embodiments, network-side interface 902 includes one or more antenna / radiating elements. For example, network-side interface 902 may include a single antenna, multiple independent antennas, or a multi-antenna array for multi-layer communication, such as single-input multiple-output (SIMO), multiple-input single-output (MISO), multiple-input multiple-output (MIMO), etc. In other embodiments, transceiver 900 transmits and receives signaling via a wired medium such as twisted-pair cable, coaxial cable, optical fiber, etc. Dedicated processing systems and / or transceivers may use all of the components shown or only a subset of the components, and the degree of integration may vary from device to device.
[0046] It should be understood that one or more steps of the methods provided in this embodiment can be performed by corresponding units or modules. For example, a transmission unit or transmission module can transmit signals. A receiving unit or receiving module can receive signals. A processing unit or processing module can process signals. Other steps can be performed by a communication unit / module, a mapping establishment unit / module, a creation unit / module, a copying unit / module, a request unit / module, a mapping unit / module, an application orchestration unit / module, and / or a storage positioning unit / module. The corresponding units / modules can be hardware, software, or a combination thereof. For example, one or more units / modules can be integrated circuits such as field-programmable gate arrays (FPGAs) or application-specific integrated circuits (ASICs).
[0047] While this disclosure has been described with reference to illustrative embodiments, the description is not intended to limit the disclosure. Those skilled in the art will appreciate various modifications and combinations of the illustrative embodiments, as well as other embodiments of this disclosure, upon referring to the description. Therefore, the appended claims are intended to cover any such modifications or embodiments.
Claims
1. A computer-implemented method, characterized in that, include: In response to receiving a request for storage volume replication from a second data center, a first storage volume is created at a first data center using one or more processors for an application executing at the second data center, the first storage volume being replicated in a second storage volume created at the second data center for the application; Receive information identifying the application from the second data center; At the first data center, the information identifying the application is used to establish a mapping between the application and the first storage volume; as well as When the execution of the application moves from the second data center to the first data center, the first storage volume is identified in the first data center according to the mapping.
2. The computer-implemented method according to claim 1, characterized in that, The information identifying the application includes an application storage reference for the application, which is used to identify the storage of the application.
3. The computer-implemented method according to any one of claims 1 to 2, characterized in that, Also includes: Data or metadata associated with the application is copied from the second data center to the first data center.
4. The computer-implemented method according to any one of claims 1 to 3, characterized in that, The first data center and the second data center use different application orchestration systems.
5. The computer-implemented method according to any one of claims 1 to 4, characterized in that, Also includes: Data associated with the application is located based on the mapping between the application and the first storage volume.
6. A computer-implemented method, characterized in that, include: At the first data center, one or more processors are used to create a first storage volume for the application that is launched at the first data center; After the first storage volume is created, communication is established with the second data center to create a second storage volume for the application at the second data center, the second storage volume being a copy of the first storage volume; When the execution of the application moves from the first data center to the second data center, information identifying the application is sent to the second data center for the second data center to identify the second storage volume of the application; as well as At the first data center, the information identifying the application is used to establish a mapping between the application and the first storage volume.
7. The computer-implemented method according to claim 6, characterized in that, The information identifying the application includes an application storage reference for the application, which is used to identify the storage of the application.
8. The computer-implemented method according to any one of claims 6 to 7, characterized in that, Also includes: The data or metadata associated with the application is copied to the second data center.
9. The computer-implemented method according to any one of claims 6 to 8, characterized in that, The first data center and the second data center use different application orchestration systems.
10. The computer-implemented method according to any one of claims 6 to 9, characterized in that, Also includes: Data associated with the application is located based on the mapping between the application and the first storage volume.
11. The computer-implemented method according to any one of claims 1 to 10, characterized in that, The first data center or the second data center is a hybrid cloud-based data center.
12. A device, characterized in that, include: Non-transitory memory, including instructions; and One or more processors communicate with the memory, wherein the one or more processors execute the instructions to: Perform the method according to any one of claims 1 to 11.
13. A system, characterized in that, include: A first data center, configured to perform the method according to any one of claims 6 to 11; as well as A second data center is used to perform the method according to any one of claims 1 to 5 and claim 11.
14. A non-transitory computer-readable medium for storing computer instructions, characterized in that, The computer instructions, when executed by one or more processors, cause the one or more processors to: Perform the method according to any one of claims 1 to 11.
Citation Information
Patent Citations
Providing executing programs with access to stored block data of others
US20100037031A1
Mobility of application services in a distributed computing system
US20170295246A1