IP Library Granted Patent US 12,487,770
Granted Patent B2
US 12,487,770 · App. 17/989,768 · Granted Dec 2, 2025

Application environment recovery using cloud-based immutable storage devices

Inventors: Govindarajan Rangasamy (Holliston, MA); Sujai Subburayan Dakshinamoorthy (Coimbatore, IN); Chakkaravarthi Barathi Thangaraj (Coimbatore, IN)
Assignee: Commvault Systems, Inc.
G06F3/0655G06F3/0604G06F3/067
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 12,487,770
App. No.
17/989,768
Granted
Dec 2, 2025
Kind
B2
Abstract

An example method includes identifying cloud services of a distributed software system deployed in a cloud platform. The cloud services are specific to a first cloud account. Further, dependencies associated with the cloud services may be determined. Furthermore, metadata including the dependencies and application data associated with the cloud services are stored in one or more cloud-based immutable storage devices at defined intervals. Responsive to determining an anomaly in the distributed software system, the metadata associated with the cloud services may be retrieved from the cloud-based immutable storage devices. Cloud platform specific infrastructure as code (IaC) may be generated for the distributed software system based on the retrieved metadata. A second cloud account may be generated. The cloud platform specific IaC is executed to recover an application environment of the distributed software system in the second cloud account using the application data stored in the cloud-based immutable storage devices.

Claims (33)

1 . A computer-implemented method comprising:

identifying cloud services of a distributed software system deployed in a cloud platform, wherein the cloud services are specific to a first cloud account of the cloud platform;

determining relationships including: among the cloud services of the distributed software system, as well as between the cloud services of the distributed software system and other distributed software systems in the cloud platform, wherein the relationships include a first dependency between a first cloud service and a second cloud service;

creating a cloud assembly that is based on the relationships and is further based on associating properties of the cloud services and configuration items required to execute each of the cloud services:

storing metadata associated with the cloud services, wherein the metadata includes the relationships, in one or more cloud-based immutable storage devices;

backing up the cloud assembly in the one or more cloud-based immutable storage devices;

storing application data associated with the cloud services in the one or more cloud-based immutable storage devices, wherein the application data was created and managed by one or more of the cloud services; and

responsive to determining an anomaly in the distributed software system:

(a) identifying a point in time before a time of the anomaly, and

(b) retrieving, from the metadata stored in the one or more cloud-based immutable storage devices, first metadata that is associated with the point in time, and

(c) generating cloud platform specific infrastructure as code (laC) for the distributed software system based on the first metadata retrieved from the one or more cloud-based immutable storage devices, wherein the laC is based, at least in part, on the cloud assembly that was backed up, and

(d) executing, in the cloud platform, the cloud platform specific laC to recover, into a second cloud account that is distinct from the first cloud account:

(A) an application environment of the distributed software system corresponding to the cloud assembly at the point in time, wherein the application environment includes the cloud services and the first dependency, and

(B) the application data, which is retrieved from the one or more cloud-based immutable storage devices,

wherein executing the cloud platform specific laC comprises synchronizing the application data with the application environment corresponding to the point in time.

2 . The computer-implemented method of claim 1 , wherein executing the cloud platform specific laC to recover the application environment of the distributed software system comprises:

recovering cloud infrastructure, configurations, dependencies, and state of the cloud services that were captured in the cloud assembly,

wherein the recovered application environment in the second cloud account restores, in the second cloud account, a clean copy of the distributed software system corresponding to the point in time.

3 . The computer-implemented method of claim 1 , wherein generating the cloud platform specific laC for the distributed software system is further based on the relationships among the cloud services of the distributed software system.

4 . The computer-implemented method of claim 1 , wherein storing the metadata and application data associated with the cloud services comprises:

storing the metadata associated with the cloud services in a cloud-based first immutable cloud storage device; and

storing the application data associated with the cloud services in a cloud-based second immutable cloud storage device.

5 . The computer-implemented method of claim 1 , wherein executing the cloud platform specific laC causes the application environment of the distributed software system to recover in one of: a same cloud platform and a different cloud platform.

6 . The computer-implemented method of claim 1 , wherein executing the cloud platform specific laC causes the application environment of the distributed software system to recover in one of: a same cloud region of the cloud platform and a different cloud region of the cloud platform.

7 . The computer-implemented method of claim 1 , wherein storing the metadata and application data associated with the cloud services comprises:

at a first defined interval:

storing a metadata snapshot, including metadata associated with the cloud services along with a timestamp, in a cloud-based first immutable storage device; and

storing an application data snapshot, including entire data associated with the cloud services along with a timestamp, in a cloud-based second immutable storage device; and

at subsequent defined intervals:

storing an incremental metadata snapshot, including incremental metadata associated with a changed portion of the application data along with a timestamp, in the cloud-based first immutable storage device; and

storing an incremental application data snapshot, including the changed portion of the application data along with a timestamp, in the cloud-based second immutable storage device.

8 . The computer-implemented method of claim 1 , wherein the metadata associated with the cloud services comprises information about one or more of: a compute node, storage, private IPs, elastic network Interfaces, elastic storage service types, encryption and encryption key management key IDs, security groups, routing table configurations, virtual private cloud resources, virtual private cloud peering, elastic load balancer configurations, auto-scaling groups, subnets, domain naming service configurations, object storage buckets and configurations, tags associated with resources running in a cloud region, Network Address Translation (NAT) Gateways, and Network Access Control lists.

9 . The computer-implemented method of claim 1 , further comprising: authenticating the second cloud account prior to recovering the application environment of the distributed software system in the second cloud account.

Assignments (3)
SUPPLEMENTAL CONFIRMATORY GRANT OF SECURITY INTEREST IN UNITED STATES PATENTS Recorded Apr 16, 2025
From: COMMVAULT SYSTEMS, INC.
To: JPMORGAN CHASE BANK, N.A., AS ADMINISTRATIVE AGENT
Reel/Frame 070864/0344 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 17, 2024
From: APPRANIX, INC.
To: COMMVAULT SYSTEMS, INC.
Reel/Frame 067450/0053 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 13, 2024
From: RANGASAMY, GOVINDARAJAN; DAKSHINAMOORTHY, SUJAI SUBBURAYAN; THANKARAJ, CHAKKARAVARTHI BARATHI
To: APPRANIX, INC.
Reel/Frame 067393/0709 →