IP Library Granted Patent US 10,901,860
Granted Patent B2
US 10,901,860 · App. 16/287,167 · Granted Jan 26, 2021

Automated development of recovery plans

Inventor: Di Wu (East Palo Alto, CA)
Assignee: RUBRIK, INC.
G06F11/1469G06F9/3838G06F9/45558G06F16/9024G06F17/18H04L41/0654H04L41/12H04L41/142H04L41/145G06F2009/45591
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 10,901,860
App. No.
16/287,167
Granted
Jan 26, 2021
Kind
B2
Abstract

A system for validating a recovery plan for machines in a compute infrastructure is provided. In some examples, a system includes processors and a memory storing instructions that, when executed by at least one processor among the processors, cause the system to perform certain operations. The operations may include collecting statistics on network connections between machines in the compute infrastructure, based on the collected statistics, determining dependencies between the machines in the compute infrastructure, and identifying inconsistencies between the dependencies and an order of recovery for the machines specified in an existing recovery plan for the machines.

Claims (26)

1. A method for validating a recovery plan for machines in a compute infrastructure, the method comprising:

collecting, by one or more processors, statistics on network connections between machines in the compute infrastructure, wherein collecting statistics on network connections between machines in the compute infrastructure includes sampling virtual machines executing on the machines in the compute infrastructure at periodic intervals, and accessing a list of established and listening ports to produce raw network flow data at a machine level, the raw network flow data collected in an identified format, the identified format including:

for listening ports [local port] [process name]; and

for established connections [source IP address] [source port] [local port] [process name];

based on the collected statistics, determining, by the one or more processors, dependencies between the machines in the compute infrastructure;

constructing, by the one or more processors, a dependency graph of the dependencies of the machines based on the raw network flow data, wherein a directed edge in the dependency graph represents a dependency between two machines in the compute infrastructure, and wherein the directed edge in the dependency graph represents a strength of the dependency and a confidence level that the directed edge is an actual dependency between two machines in the compute infrastructure; and

identifying, by one or more processors, inconsistencies between the dependencies and an order of recovery for the machines specified in an existing recovery plan for the machines.

2. The method of claim 1 , wherein nodes in the dependency graph represent individual machines in the compute infrastructure.

3. A system for validating a recovery plan for machines in a compute infrastructure, the system comprising:

processors; and

a memory storing instructions that, when executed by at least one processor among the processors, cause the system to perform operations comprising, at least:

collecting statistics on network connections between machines in the compute infrastructure, wherein collecting statistics on network connections between machines in the compute infrastructure includes sampling virtual machines executing on the machines in the compute infrastructure at periodic intervals, and accessing a list of established and listening ports to produce raw network flow data at a machine level, the raw network flow data collected in an identified format, the identified format including:

for listening ports [local port] [process name]; and

for established connections [source IP address] [source port] [local port] [process name];

based on the collected statistics, determining dependencies between the machines in the compute infrastructure;

constructing, by the one or more processors, a dependency graph of the dependencies of the machines based on the raw network flow data, wherein a directed edge in the dependent graph represents a dependency between two machines in the compute infrastructure, and wherein the directed edge in the dependency graph represents a strength of the dependency and a confidence level that the directed edge is an actual dependency between two machines in the compute infrastructure; and

identifying inconsistencies between the dependencies and an order of recovery for the machines specified in an existing recovery plan for the machines.

4. The system of claim 3 , wherein nodes in the dependency graph represent individual machines in the compute infrastructure.

5. A non-transitory machine-readable medium including instructions which, when read by a machine, cause the machine to perform operations including, at least:

collecting statistics on network connections between machines in the compute infrastructure, wherein collecting statistics on network connections between machines in the compute infrastructure includes sampling virtual machines executing on the machines in the compute infrastructure at periodic intervals, and accessing a list of established and listening ports to produce raw network flow data at a machine level, the raw network flow data collected in an identified format, the identified format including:

for listening ports [local port] [process name]; and

for established connections [source IP address] [source port] [local port] [process name];

based on the collected statistics, determining dependencies between the machines in the compute infrastructure;

constructing, by the one or more processors, a dependency graph of the dependencies of the machines based on the raw network flow data, wherein a directed edge in the dependency graph represents a dependency between two machines in the compute infrastructure, and wherein the directed edge in the dependency graph represents a strength of the dependency and a confidence level that the directed edge is an actual dependency between two machines in the compute infrastructure; and

identifying inconsistencies between the dependencies and an order of recovery for the machines specified in an existing recovery plan for the machines.

6. The medium of claim 5 , wherein nodes in the dependency graph represent individual machines in the compute infrastructure.

Assignments (3)
RELEASE OF SECURITY INTEREST IN PATENT COLLATERAL AT REEL/FRAME NO. 60333/0323 Recorded Jun 13, 2025
From: GOLDMAN SACHS BDC, INC., AS COLLATERAL AGENT
To: RUBRIK, INC.
Reel/Frame 071565/0602 →
GRANT OF SECURITY INTEREST IN PATENT RIGHTS Recorded Jun 10, 2022
From: RUBRIK, INC.
To: GOLDMAN SACHS BDC, INC., AS COLLATERAL AGENT
Reel/Frame 060333/0323 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 18, 2020
From: WU, DI
To: RUBRIK, INC.
Reel/Frame 051848/0027 →