Application migration between environments

US12475004B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-12475004-B2
Application numberUS-202318470276-A
CountryUS
Kind codeB2
Filing dateSep 19, 2023
Priority dateJun 25, 2018
Publication dateNov 18, 2025
Grant dateNov 18, 2025

How to read this patent

A practical reading order for non-experts. Skip the full description unless you need deep technical detail.

  1. Title

    What the patent document calls the invention.

  2. Abstract

    A short plain-language summary of the technical disclosure.

  3. Assignees and inventors

    Who owns or filed the patent and who is credited as inventor.

  4. Key dates

    Filing, priority, publication, and grant dates set the timeline.

  5. First independent claim

    The legal scope of protection — read this for what is actually claimed.

  6. CPC / IPC classifications

    Technology tags used to group this patent with similar filings.

  7. Citations and related patents

    Prior art links and similar publications in this corpus.

Abstract

Official abstract text for this publication.

A data management and storage (DMS) cluster of peer DMS nodes manages migration of an application between a primary compute infrastructure and a secondary compute infrastructure. The secondary compute infrastructure may be a failover environment for the primary compute infrastructure. Primary snapshots of virtual machines of the application in the primary compute infrastructure are generated, and provided to the secondary compute infrastructure. During a failover, the primary snapshots are deployed in the secondary compute infrastructure as virtual machines. Secondary snapshots of the virtual machines are generated, where the secondary snapshots are incremental snapshots of the primary snapshots. In failback, the secondary snapshots are provided to the primary compute infrastructure, where they are combined with the primary snapshots into construct a current state of the application, and the application is deployed in the current state by deploying virtual machines on the primary compute infrastructure.

First claim

Opening claim text (preview).

What is claimed is: 1 . A method, comprising: generating a plurality of data fetch jobs for a plurality of virtual machines within a compute infrastructure, wherein the plurality of virtual machines are configured to execute an application, and wherein the plurality of data fetch jobs are associated with generating a snapshot of the application; determining whether the plurality of data fetch jobs are ready for execution; delaying execution of at least one data fetch job of the plurality of data fetch jobs based at least in part on at least one other data fetch job of the plurality of data fetch jobs not being ready for execution; and generating, after the plurality of data fetch jobs are ready for execution, the snapshot of the application based at least in part on parallel execution of the plurality of data fetch jobs, wherein: executing the plurality of data fetch jobs comprises transferring captured images of the plurality of virtual machines to a data management and storage (DMS) system; and the snapshot of the application is generated based at least in part on combining the captured images at the DMS system. 2 . The method of claim 1 , further comprising: adding the plurality of data fetch jobs to a job queue accessible to peer DMS nodes in the DMS system; and retrieving, by the peer DMS nodes, the plurality of data fetch jobs from the job queue for execution at the plurality of virtual machines within the compute infrastructure. 3 . The method of claim 2 , further comprising: associating one or more service level agreements with the plurality of virtual machines, wherein the plurality of data fetch jobs are added to the job queue according to the one or more service level agreements. 4 . The method of claim 2 , wherein the plurality of data fetch jobs are associated with a start time, the method further comprising: determining whether the plurality of data fetch jobs are ready for execution based at least in part on whether the peer DMS nodes are ready to execute the plurality of data fetch jobs at the start time. 5 . The method of claim 1 , wherein generating the snapshot of the application is based at least in part on combining an incremental snapshot of a virtual machine with a full snapshot of the virtual machine. 6 . The method of claim 1 , further comprising: allocating the plurality of data fetch jobs to peer DMS nodes in the DMS system based at least in part on respective processing and data storage resources of the peer DMS nodes. 7 . The method of claim 1 , further comprising: determining that a data fetch job of the plurality of data fetch jobs failed to successfully execute at a first virtual machine; generating one or more additional data fetch jobs for the first virtual machine associated with the failed data fetch job and a second virtual machine associated with a successful data fetch job; executing the one or more additional data fetch jobs to generate a full snapshot of the first virtual machine and an incremental snapshot of the second virtual machine; generating the snapshot of the application by combining the full snapshot of the first virtual machine with the incremental snapshot of the second virtual machine; and storing the snapshot of the application in a distributed data store. 8 . The method of claim 1 , further comprising: storing the snapshot of the application in a distributed data store in response to determining that the plurality of data fetch jobs were successfully executed at the plurality of virtual machines. 9 . The method of claim 1 , wherein the plurality of virtual machines comprise at least: a database server configured to execute the application; a file server configured to execute the application; and a web server configured to execute the application. 10 . The method of claim 1 , wherein determining whether the plurality of data fetch jobs are ready for execution comprises: determining whether one or more job engines are ready to execute the plurality of data fetch jobs. 11 . The method of claim 1 , wherein determining whether the plurality of data fetch jobs are ready for execution is based at least in part on determining whether the plurality of data fetch jobs have been retrieved from a job queue. 12 . A system, comprising: at least one processor; and memory coupled to the at least one processor, the memory storing instructions that are executable by the at least one processor to cause the system to: generate a plurality of data fetch jobs for a plurality of virtual machines within a compute infrastructure, wherein the plurality of virtual machines are configured to execute an application, and wherein the plurality of data fetch jobs are associated with generating a snapshot of the application; determine whether the plurality of data fetch jobs are ready for execution; delay execution of at least one data fetch job of the plurality of data fetch jobs based at least in part on at least one other data fetch job of the plurality of data fetch jobs not being ready for execution; and generate, after the plurality of data fetch jobs are ready for execution, the snapshot of the application based at least in part on parallel execution of the plurality of data fetch jobs, wherein: executing the plurality of data fetch jobs comprises transferring captured images of the plurality of virtual machines to a data management and storage (DMS) system; and the snapshot of the application is based at least in part on a combination of the captured images. 13 . The system of claim 12 , wherein the instructions are further executable by the at least one processor to cause the DMS system to: add the plurality of data fetch jobs to a job queue accessible to peer DMS nodes in the DMS system; and retrieve, by the peer DMS nodes, the plurality of data fetch jobs from the job queue for execution at the plurality of virtual machines within the compute infrastructure. 14 . The system of claim 13 , wherein the plurality of data fetch jobs are associated with a start time, and wherein the instructions are further executable by the at least one processor to cause the DMS system to: determine whether the plurality of data fetch jobs are ready for execution based at least in part on whether the peer DMS nodes are ready to execute the plurality of data fetch jobs at the start time. 15 . The system of claim 12 , wherein, to generate the snapshot of the application, the instructions are executable by the at least one processor to cause the DMS system to combine an incremental snapshot of a virtual machine with a full snapshot of the virtual machine. 16 . The system of claim 12 , wherein the instructions are further executable by the at least one processor to cause the DMS system to: allocate the plurality of data fetch jobs to peer DMS nodes in the DMS system based at least in part on processing and data storage resources of the peer DMS nodes. 17 . The system of claim 12 , wherein the instructions are further executable by the at least one processor to cause the DMS system to: determine that a data fetch job of the plurality of data fetch jobs failed to successfully execute at a first virtual machine; generate one or more additional data fetch jobs for the first virtual machine associated with the failed data fetch job and a second virtual machine associated with a successful data fetch job; execute the one or more additional data fetch jobs to generate a full snapshot of the first virtual machine and an incremental snapshot of the second virtual machine; generate the

Assignees

Inventors

Classifications

  • using migration · CPC title

  • Failover techniques · CPC title

  • Hypervisor-specific management and integration aspects · CPC title

  • Using snapshots, i.e. a logical point-in-time copy of the data · CPC title

  • Starting, stopping, suspending or resuming virtual machine instances · CPC title

Patent family

Related publications grouped by family.

External sources

Frequently asked questions

Answers are generated from the same data shown on this page.

What does patent US12475004B2 cover?
A data management and storage (DMS) cluster of peer DMS nodes manages migration of an application between a primary compute infrastructure and a secondary compute infrastructure. The secondary compute infrastructure may be a failover environment for the primary compute infrastructure. Primary snapshots of virtual machines of the application in the primary compute infrastructure are generated, a…
Who is the assignee on this patent?
Rubrik Inc
What technology area does this patent fall under?
Primary CPC classification G06F9/45558. Mapped technology areas include Physics.
When was this patent published?
Publication date Tue Nov 18 2025 00:00:00 GMT+0000 (Coordinated Universal Time) (B2). Legal status and post-grant events are not shown on this page.
What related patents are in patentsdb?
We list 12 related publications on this page (citations in our corpus or others sharing the same primary CPC).