IP Library Granted Patent US 9,021,294
Granted Patent B2
US 9,021,294 · App. 13/422,091 · Granted Apr 28, 2015

Discovering boot order sequence of servers belonging to an application

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 9,021,294
App. No.
13/422,091
Granted
Apr 28, 2015
Kind
B2
Abstract

A survey tool for use in a Recover to Cloud (R2C) replication service environment that determines configuration information automatically (such as through SNMP messaging or custom APIs) and stores it in a survey database. A Virtual Data Center (VDC) representation is then instantiated from the survey database, with the VDC being a virtual replica of the production environment including dormant Virtual Machine (VM) definition files, applications, storage requirements, VLANs firewalls, and the like. The survey tool determines the order in which the replicas are brought on line to ensure orderly recovery, by determining the order in which each machine makes requests for connections to other machines.

Claims (44)

1. A data processing system for replication of a production data processing environment, the production environment including at least one production data processor and at least one production networking device, the system comprising:

(a) a virtual data center (VDC) including at least one dedicated live virtual machine (VM), at least one dedicated replication networking device, and two or more dormant VM definitions for storing replicated data received from the production environment representing corresponding two or more physical or virtual machines in the production environment;

(b) one or more physical hardware processing machines, for executing program code, the program code including

(i) an automated survey tool to determine the physical or virtual machines which belong to an application associated with the production environment;

(ii) an automated connection monitor tool for determining connection dependencies among the physical or virtual machines in the production environment, and from the connection dependencies, determining a replica machine recovery order;

(iii) a replication process for receiving replicated data from the production environment and writing the replicated data to dormant VM definitions in the VDC, while the production environment is in operation; and

(iv) a failure recovery process for activating the VDC for access in place of the production environment by promoting the dormant VM definitions to live VMs in an order specified by the replica machine recovery order wherein the replica machine recovery order is further determined by processing a list of physical or virtual machines that comprise servers in the production environment and associated connections such that

if two servers, Server A and Server B, have not initiated connections to each other, then they are not determined as dependent on each other for the replica machine recovery order;

if Server A has initiated a connection to Server B, but Server B has not initiated a connection to Server A, then Server B is placed before Server A in the replica machine recovery order; and

if Servers A and B each initiate connections to one another, an uptime for Server A is compared to an uptime for Server B to determine the replica machine recovery order.

2. The system of claim 1 wherein the connection monitor tool further deploys an agent process in an application server in the production environment associated with a particular application, the agent process logging connection requests made to the application server by one or more other servers.

3. The system of claim 2 wherein the agent process deploys a further agent process to the one or more other servers to in turn discover connection requests made to the one or more other servers by one or more still other servers.

4. The system of claim 3 wherein the further agent process is not deployed if at least one of the still other servers is located outside of a specified subnet.

5. The system of claim 3 , wherein the agent process signals the further agent process to terminate connection discovery.

6. The system of claim 5 wherein a clean up agent traverses the connection requests to discover a leaf node, and the leaf node then signals a corresponding parent node to uninstall an agent process in the leaf node.

7. The system of claim 6 wherein the clean up agent traverses the connection requests until only an initial agent process remains active.

8. The system of claim 1 further comprising:

presenting an administrative user with a tree display of discovered servers and connection dependencies.

9. The system of claim 1 further comprising:

accepting user input as to which discovered servers are to be replicated for failover recovery.

10. The system of claim 1 wherein if a cyclic dependency exists among a connection order for two or more servers, a respective uptime and/or earlier recovery of a specific application server type are used to resolve the replica machine recovery order.

11. In a data processing system including a production environment comprising one or more physical and/or virtual machines, a method comprising:

determining connection dependencies among the physical and/or virtual machines in the production environment;

determining a recovery order by the further steps of:

deploying an agent process in an application server in the production environment associated with a particular application, the agent process logging connection requests made to the application server by one or more other servers;

the agent process in turn further deploying a further agent process to the one or more other servers to discover still additional connection requests made to the one or more other servers, by at least one still other server; and

wherein the recovery order is determined by processing a list of physical or virtual machines that comprise servers in the production environment and associated connections such that:

if two servers have not initiated connections to each other, they are determined to not be dependent on each other for the recovery order;

if a first server has initiated a connection to a second server, but the second server has not initiated a connection to the first server, then the second server is placed before the first server in the recovery order; and

if the first and second server have each initiated connections to one another, an uptime for the first and second servers is compared to determine the recovery order.

12. The method of claim 11 wherein the further agent process is not deployed if the still other server is located outside of a specified network.

13. The method of claim 12 wherein the connection requests made to the application server and the still additional requests made to the one or more other servers as discovered by the further agent processes are stored in the form of a connection tree.

14. The method of claim 13 wherein a clean-up agent traverses the connection tree to discover a leaf node, and the leaf node signals a corresponding parent node to uninstall an agent process from the leaf node.

15. The method of claim 11 further comprising:

accepting user input as to which discovered servers are to be replicated.

16. The method of claim 11 wherein if a cyclic dependency exists among two or more servers in the recovery order, at least one of uptime and/or the need for earlier recovery of a specific application and/or server type are used to resolve the recovery order.

17. An apparatus for providing disaster recovery of a production data processing environment, the production environment comprising two or more physical or virtual machines to be replicated in a failover environment, the apparatus comprising one or more physical data processing machines that retrieve instructions from one or more stored media and execute the program instructions, the program instructions for:

determining connection dependencies among the physical and/or virtual machines in the production environment; and

determining a recovery order by the further steps of:

deploying an agent process in an application server in the production environment associated with a particular application, the agent process logging connection requests made to the application server by one or more other servers; and

the agent process in turn further deploying a further agent process to at least one of the one or more other servers to discover still additional connection requests made to the one or more other servers, the still additional connection requests made by still other servers, wherein a recovery order is determined by processing a list of physical or virtual machines that comprise servers in the production environment and associated connections such that:

if two servers have not initiated connections to each other, they are determined to not be dependent on each other for the recovery order;

if a first server has initiated a connection to a second server, but the second server has not initiated a connection to the first server, then the second server is placed before the first server in the recovery order; and

if the two servers each initiate connections to one another, a respective uptime is used to resolve recovery order or earlier recovery of a specific application type.

Assignments (16)
RELEASE OF SECURITY INTEREST Recorded Sep 20, 2023
From: PNC BANK, NATIONAL ASSOCIATION, AS COLLATERAL AGENT
To: SUNGARD AVAILABILITY SERVICES, LP; SUNGARD AS NEW HOLDINGS III, LLC; SUNGARD AS NEW HOLDINGS II, LLC
Reel/Frame 064963/0677 →
RELEASE OF SECURITY INTEREST Recorded Jan 23, 2023
From: CORTLAND PRODUCTS CORP.
To: SUNGARD AVAILABILITY SERVICES, LP
Reel/Frame 062451/0445 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 22, 2022
From: SUNGARD AVAILABILITY SERVICES, L.P.
To: 11:11 SYSTEMS, INC.
Reel/Frame 061853/0933 →
TERMINATION AND RELEASE OF INTELLECTUAL PROPERTY SECURITY AGREEMENT Recorded Nov 11, 2022
From: PNC BANK, NATIONAL ASSOCIATION
To: SUNGARD AS NEW HOLDINGS III, LLC; SUNGARD AS NEW HOLDINGS II, LLC; SUNGARD AVAILABILITY SERVICES, LP
Reel/Frame 061925/0294 →
RELEASE OF INTELLECTUAL PROPERTY SECURITY INTEREST Recorded Jun 21, 2021
From: ALTER DOMUS PRODUCTS CORP.
To: SUNGARD AVAILABILITY SERVICES, LP
Reel/Frame 056634/0200 →
INTELLECTUAL PROPERTY SECURITY INTEREST AGREEMENT Recorded Dec 23, 2020
From: SUNGARD AS NEW HOLDINGS II, LLC; SUNGARD AS NEW HOLDINGS III, LLC; SUNGARD AVAILABILITY SERVICES, LP
To: ALTER DOMUS PRODUCTS CORP.
Reel/Frame 054837/0948 →
INTELLECTUAL PROPERTY SECURITY INTEREST AGREEMENT Recorded Dec 23, 2020
From: SUNGARD AS NEW HOLDINGS II, LLC; SUNGARD AS NEW HOLDINGS III, LLC; SUNGARD AVAILABILITY SERVICES, LP
To: ALTER DOMUS PRODUCTS CORP.
Reel/Frame 054838/0052 →
SUCCESSOR AGENCY AGREEMENT Recorded Aug 26, 2019
From: CORTLAND CAPITAL MARKET SERVICES LLC, AS RESIGNING AGENT
To: CORTLAND PRODUCTS CORP, AS NEW AGENT
Reel/Frame 050174/0017 →
SECURITY INTEREST Recorded Aug 26, 2019
From: SUNGARD AS NEW HOLDINGS III, LLC; SUNGARD AS NEW HOLDINGS II, LLC; SUNGARD AVAILABILITY SERVICES, LP
To: CORTLAND CAPITAL MARKET SERVICES LLC
Reel/Frame 050173/0063 →
SECURITY INTEREST Recorded Aug 26, 2019
From: SUNGARD AS NEW HOLDINGS III, LLC; SUNGARD AS NEW HOLDINGS II, LLC; SUNGARD AVAILABILITY SERVICES, LP
To: CORTLAND CAPITAL MARKET SERVICES LLC
Reel/Frame 050173/0112 →
SUCCESSOR AGENCY AGREEMENT Recorded Aug 26, 2019
From: CORTLAND CAPITAL MARKET SERVICES LLC, AS RESIGNING AGENT
To: CORTLAND PRODUCTS CORP, AS NEW AGENT
Reel/Frame 050174/0335 →
SECURITY AGREEMENT Recorded Aug 12, 2019
From: SUNGARD AVAILABILITY SERVICES, LP; SUNGARD AS NEW HOLDINGS III, LLC; SUNGARD AS NEW HOLDINGS II, LLC
To: PNC BANK, NATIONAL ASSOCIATION, AS COLLATERAL AGENT
Reel/Frame 050020/0785 →
RELEASE OF SECURITY INTEREST Recorded May 6, 2019
From: JPMORGAN CHASE BANK, N.A., AS COLLATERAL AGENT
To: SUNGARD AVAILABILITY SERVICES, LP
Reel/Frame 049092/0264 →
CHANGE OF NAME Recorded Dec 1, 2017
From: SUNGARD AVAILABILITY SERVICES LP
To: SUNGARD AVAILABILITY SERVICES, LP
Reel/Frame 044635/0787 →
SECURITY INTEREST Recorded Apr 11, 2014
From: SUNGARD AVAILABILITY SERVICES, LP
To: JPMORGAN CHASE BANK, N.A., AS COLLATERAL AGENT
Reel/Frame 032652/0864 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 20, 2012
From: REDDY, CHANDRA
To: SUNGARD AVAILABILITY SERVICES LP
Reel/Frame 027892/0481 →