IP Library Granted Patent US 10,901,859
Granted Patent B2
US 10,901,859 · App. 16/287,087 · 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,859
App. No.
16/287,087
Granted
Jan 26, 2021
Kind
B2
Abstract

An automated system monitors network traffic to determine dependencies between different machines. These dependencies can be used to automatically develop a recovery plan for the machines, for example restoring servers in a certain order. This approach can also automatically adjust the recovery plan for changes in system configuration, for example as different servers come online or are taken offline or change their roles.

Claims (26)

1. A method for developing 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 of the compute infrastructure 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

based on the dependencies, by the one or more processors, developing a recovery plan for the machines in the compute infrastructure, the recovery plan including an order of recovery 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 recovering 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 in the compute infrastructure 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

based on the dependencies, developing a recovery plan for the machines in the compute infrastructure, the recovery plan including an order of recovery 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 in the compute infrastructure 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

based on the dependencies, developing a recovery plan for the machines in the compute infrastructure, the recovery plan including an order of recovery 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 Jan 23, 2020
From: WU, DI
To: RUBRIK, INC.
Reel/Frame 051601/0034 →
Continuity (2)
Provisional Application 62635673 · Feb 27, 2018
Related Publication 20190266058A1 · Aug 29, 2019